2010-09-01 2 views
28

Я знаю, что есть @inheritDoc, но это только для методов, которые переопределяют другие.Как Javadoc метода можно скопировать в Javadoc другого метода?

У меня есть несколько классов со многими делегат методов (которые не переопределения других).

Может ли их Javadoc быть «унаследованным» (точнее: скопировано)?

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

Близко, но специально для перегруженных методов: http://stackoverflow.com/questions/2558695/javadoc-and-overloaded-methods/28114175#28114175 –

ответ

10

Здесь будет уместен тег @link или @see. Если вы завершаете метод, он должен обеспечивать отличительное поведение, которое делает его непригодным для перегрузки или иным образом.

+1

Да, но '@ link' или' @ see' печально не полезно, когда защищенный метод защищен :( –

+3

, если вы не генерируете javadocs для защищенных методов также ... –

+0

'@ seanizer' О, я не знал, что это возможно, спасибо! –

8

Иногда это действительно хорошая вещь, чтобы вырезать и вставлять документацию. «Связывание» документации каким-то образом, особенно когда нет в отношениях наследования, возникает риск того, что один из методов будет иметь свое поведение каким-то образом изменился, что делает связанную документацию более недействительной.

Однако в случае с делегатами у меня была такая же проблема несколько раз. Обычно у вас есть общедоступный метод для делегирования основного класса делегату package-private, который имеет точно такое же поведение, как и основной метод. Здесь решение прост - документируйте основной класс и поместите @link или @see в класс делегата. Каждый может видеть документацию основного класса. Вероятно, вам также потребуется иметь более подробную документацию, такую ​​как сведения о реализации, и в классе делегата.

 Смежные вопросы

  • Нет связанных вопросов^_^