Можно ли получить коллекцию открытых интерфейсов и классов в пакете, используя отражение? - PullRequest
0 голосов
/ 18 июля 2010

Можно ли получить коллекцию открытых интерфейсов и классов в данном пакете, используя отражение? Вопрос по Java 1.6

Почему: У меня есть пакет, где некоторые классы аннотированы. Я хочу собрать их автоматически для документирования

Ответы [ 2 ]

3 голосов
/ 18 июля 2010

Нет, не возможно, по крайней мере, в целом. Это связано с тем, что механизм загрузчика классов слишком гибок, чтобы разрешить его: классы можно загружать по сети или генерировать на лету, и единственной операцией является «запросить загрузчик классов для класса с полностью определенным именем X, и он либо возвратит класс X, либо выбросить исключение. Вы можете легко реализовать загрузчик классов, который возвращает класс для любого имени в любом пакете, то есть бесконечного числа классов.

Для конкретного случая загрузки классов из каталога или JAR-файла через URLClassLoader можно посмотреть содержимое указанного каталога или JAR-файла.

2 голосов
/ 18 июля 2010

Вы действительно должны генерировать документацию во время выполнения? Обычный способ использования инструмента обработки аннотаций (APT): http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/guide/apt/GettingStarted.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...