2011-01-27 3 views
2

Я должен исключить некоторые из общедоступных методов класса из включенного в javadocs. Я попробовал ExcludeDoclet Криса Ноклеберга (Sixlegs). Но у doclet возникает небольшая проблема: Если другие методы в классе возвращают List (или любые другие генерики), вместо отображения в javadoc как List, тип возврата просто отображается как List (без общей информации)javadoc исключает некоторые общедоступные методы из класса

Может ли кто-нибудь дать подсказку или дать рекомендации по решению этой проблемы?

+0

Аналогичный вопрос: http://stackoverflow.com/questions/1120455/how-do-i-exclude-a-specific-method-constructor-from-the-results-of-the-javadoc-an/4815466# 4815466 –

+0

отображается в виде списка. – Astha

+0

Я повторно отправляю вопрос. из-за угловых скобок некоторые части были интерпретированы как метки. – Astha

ответ

6

Я предполагаю, что методы, которые вы хотите исключить из javadoc, являются общедоступными методами, которые вы не хотите использовать своим клиентом. Другими словами, эти методы: deprecated. Что вам нужно сделать, это использовать аннотацию @Deprecated. Пример:

@Deprecated public void badMethod() { 
    ... 
} 

Теперь badMethod() устарел. Если кто-то использует badMethod() в своем коде, он получит предупреждение от компилятора (что он использует устаревший метод).

Однако @Deprecated аннотация не исключает устаревший метод из javadoc. Вот что вам нужно сделать, чтобы исключить метод из javadoc: Когда вы создаете javadoc, используйте параметр линии javadoc cmd nodeprecated. Параметр -nodrecrecated предотвращает создание любого устаревшего API в документации. Поэтому, если вы используете аннотацию @Deprecated и генерируете javadoc с опцией -nodeprecated, ваш плохой метод не появится в javadoc.

Но, на мой взгляд, вы не должны исключать устаревшие общедоступные методы из вашего javadoc. Лучше, если они появятся в документации с объяснением, почему метод устарел и что использовать вместо этого.

+2

+1 для последнего абзаца. Пользователи старого кода должны увидеть ссылку на новый метод, который они должны использовать. Большинство пользователей ленивы, поэтому, если вы не сделаете их очень легкими для них, они оставят использование устаревшего метода. –

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