Инструмент Javadoc создает документацию на основе модификатора доступности. По умолчанию он документирует все классы, поля и методы public
и protected
. Это можно изменить с помощью следующих параметров:
-публичный
Показывает только публичные классы и участники.-защищенного
Показывает только защищенные и общедоступные классы и участники. Это значение по умолчанию.-package
Показывает только пакетные, защищенные и общедоступные классы и члены.-private
Показывает все классы и участники.
Java 9 представляет концепцию модулей, а проект Jigsaw применяет ее к существующему JDK. A talk от Марка Рейнхольда (третий в серии разговоров о модулях) показывает, как модификатор public
теперь имеет разные уровни доступности, в зависимости от видимости модуля (через exports
):
- для всех
- общедоступный, но только для определенных модулей
- публикация только внутри модуля
Поскольку теперь доступны не все публичные члены, было бы бессмысленно продолжать с той же схемой генерации Javadoc. Следует документировать только участников, которые подвергаются воздействию "достаточного" уровня.
Является ли модуль Javadoc осведомленным? Есть ли опции команды в дополнение к описанным выше для обработки дополнительного уровня экспозиции? Для публичных участников, которые отображаются только для определенных модулей, перечисляет ли Javadoc эти, как в
public <module1, module2> static void getDefaultThing()
?