2010-09-01 19 views
28

Sé que hay @inheritDoc, pero es solo para métodos que anulan otros.¿Cómo se puede copiar el Javadoc de un método en el Javadoc de otro método?

Tengo varias clases con muchos delegado métodos (que hacen no invalidación otros).

¿Puede su Javadoc ser "heredado" (más exactamente: copiado)?

/** here I need the copy of wrappedMethod's Javadoc */ 
public void delegateMethod(Object param){ 
    innerSomething.wrappedMethod(param); 
} 
+0

Muy relacionado, pero específicamente para métodos sobrecargados: http://stackoverflow.com/questions/2558695/javadoc-and-overloaded-methods/28114175#28114175 –

Respuesta

10

Una etiqueta @link o @see sería apropiada aquí. Si está ajustando el método, debe proporcionar un comportamiento distintivo que lo haga inadecuado para la sobrecarga o de otro modo.

+1

Sí, pero '@ link' o' @ see' lamentablemente no útil cuando el método envuelto está protegido :( –

+3

a menos que genere javadocs para métodos protegidos también ... –

+0

'@ seanizer' Oh, no sabía que fuera posible, ¡gracias! –

8

A veces, en realidad, es bueno cortar y pegar la documentación. "Enlazar" la documentación de alguna manera, especialmente cuando no existe una relación de herencia, corre el riesgo de que uno de los métodos tenga un comportamiento cambiado de alguna manera, haciendo que la documentación vinculada ya no sea válida.

Sin embargo, en el caso de los delegados he tenido el mismo problema varias veces. Normalmente tiene un método público en una clase principal que delega a un delegado privado de paquete, que tiene exactamente el mismo comportamiento que el método principal. Aquí la solución es simple: documente la clase principal y coloque @link o @see en la clase de delegado. Todos pueden ver la documentación de la clase principal. Probablemente necesite tener documentación más detallada, como detalles de implementación, en la clase de delegado también.

Cuestiones relacionadas