El formato general, de la sección @link de la documentación de javadoc , es:
Ejemplos
Método en la misma clase:
/** See also {@link #myMethod(String)}. */
void foo() { ... }
Método en una clase diferente, ya sea en el mismo paquete o importado:
/** See also {@link MyOtherClass#myMethod(String)}. */
void foo() { ... }
Método en un paquete diferente y no importado:
/** See also {@link com.mypackage.YetAnotherClass#myMethod(String)}. */
void foo() { ... }
Etiqueta vinculada al método, en texto plano en lugar de fuente de código:
/** See also this {@linkplain #myMethod(String) implementation}. */
void foo() { ... }
Una cadena de llamadas a métodos, como en su pregunta. Tenemos que especificar etiquetas para los enlaces a métodos fuera de esta clase, o lo obtenemos getFoo().Foo.getBar().Bar.getBaz()
. Pero estas etiquetas pueden ser frágiles; ver "Etiquetas" a continuación.
/**
* A convenience method, equivalent to
* {@link #getFoo()}.{@link Foo#getBar() getBar()}.{@link Bar#getBaz() getBaz()}.
* @return baz
*/
public Baz fooBarBaz()
Etiquetas
La refactorización automática puede no afectar las etiquetas. Esto incluye renombrar el método, clase o paquete; y cambiando la firma del método.
Por lo tanto, proporcione una etiqueta solo si desea un texto diferente al predeterminado.
Por ejemplo, puede vincular del lenguaje humano al código:
/** You can also {@linkplain #getFoo() get the current foo}. */
void setFoo( Foo foo ) { ... }
O puede vincular desde una muestra de código con un texto diferente al predeterminado, como se muestra arriba en "Una cadena de llamadas a métodos". Sin embargo, esto puede ser frágil mientras las API evolucionan.
Tipo de borrado y #member
Si la firma del método incluye tipos parametrizados, use la eliminación de esos tipos en el javadoc @link. Por ejemplo:
int bar( Collection<Integer> receiver ) { ... }
/** See also {@link #bar(Collection)}. */
void foo() { ... }