Спасибо за упоминание нашего инструмента - DocFlex/Javadoc
Кстати, просто за исключением классов и членов не вся история. Сгенерированный JavaDoc должен выглядеть последовательным после этого.
Например, предположим, что мы имеем следующую ситуацию:
- класс
C1
расширяет класс C2
- класс
C2
расширяет класс C3
- класс
C3
содержит открытый метод m()
- который, как предполагается, документироваться
Теперь предположим, что класс C3
должен быть исключен из документации. Что произойдет с методом m()
? Он должен быть указан в документации, указанной в классе C2
! Тогда для класса C1
, m()
должен отображаться как унаследованный от класса C2
(а не от класса C3
, так как он действительно находится в коде).
Такая же ситуация с полями, которые на самом деле еще сложнее, потому что одинаково названные поля не перегружаются, а теневые друг друга.Например
- класс
C1
расширяет класс C2
- класс
C2
реализует интерфейс I
- класс
C2
содержит частное поле F
- интерфейс
I
содержит открытое поле F
- что может быть документально
Предположим, что интерфейс I
должен быть исключен из документации. Что делать с полем I.F
? Собственно, ничего! Он не должен попадать в документацию, потому что он затенен C2.F
, который является частным и, следовательно, должен быть невидим.
Простая настройка (делегирование) стандартного Doclet решает такие проблемы?
Наш инструмент делает!
Я не пробовал, но этот продукт имеет гибкие исключения и позволяет исключать классы на основе аннотации. См. Http://www.filigris.com/products/docflex_javadoc/templates.php – mdma