javadoc исключает некоторые общедоступные методы из класса

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

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


person Astha    schedule 27.01.2011    source источник
comment
аналогичный вопрос: stackoverflow.com/questions/1120455/   -  person Harry Joy    schedule 27.01.2011
comment
‹!-- Список‹Строка› отображается как Список.   -  person Astha    schedule 27.01.2011
comment
Я повторно размещаю вопрос. из-за угловых скобок некоторые части интерпретировались как теги.   -  person Astha    schedule 27.01.2011
comment
‹!-- Но доклет создает небольшую проблему: если другие методы в классе возвращают List‹Sting› (или любые другие дженерики), вместо того, чтобы отображаться в javadoc как List‹String›, возвращаемый тип просто отображается как список (без общей информации) --›   -  person Astha    schedule 27.01.2011
comment
sixlegs.com/blog/java/exclude-javadoc-tag.html Документ, который я попробовал   -  person Astha    schedule 27.01.2011


Ответы (1)


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

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

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

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

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

person snakile    schedule 27.01.2011
comment
+1 за последний абзац. Пользователи старого кода должны видеть ссылку на новый метод, который они должны использовать. Большинство пользователей ленивы, поэтому, если вы не упростите им задачу, они перестанут использовать устаревший метод. - person Amir Rachum; 27.01.2011