Добавление аннотаций с помощью Java Annotation Processor - PullRequest
3 голосов
/ 16 июня 2011

Я знаю, что процессор аннотаций обычно используется для потребления аннотаций и реагирования на них.У меня, однако, есть случай, когда эта «реакция» включает добавление других аннотаций.Можно ли это сделать внутри самого процессора?Если да, то как?

1 Ответ

1 голос
/ 17 июня 2011

Короткий ответ: да , и вам нечего делать.

Процессор аннотаций используется для создания новых исходных файлов, а не для изменения существующих. Поэтому, когда вы говорите «добавление других аннотаций», я предполагаю, что вы имеете в виду «создание новых классов, содержащих аннотации».

Обработка аннотации выполняется в раундах. В каждом раунде вызывается метод process вашего процессора аннотаций.

Если процессор генерирует новые исходные файлы, начинается очередной раунд обработки аннотаций

  • вновь созданные исходные файлы анализируются, а аннотации обрабатываются как и раньше
  • процессоры, задействованные в предыдущих раундах, также задействуются во всех последующих раундах

Так что в основном: вам нечего делать, это уже работает ;-).

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