Любая библиотека генерации кода AspectJ (например, кодовая модель Sun для генерации кода Java)? - PullRequest
3 голосов
/ 06 сентября 2011

Есть ли бесплатная библиотека для генерации кода AspectJ во время компиляции (например, на этапе обработки аннотации)?Я ищу что-то похожее на codemodel , но для генерации кода AspectJ.

1 Ответ

1 голос
/ 08 сентября 2011

Не похоже, что такая библиотека доступна.

После прочтения и анализа исходного кода codemodel:

  1. Генерация чистого кода AspectJ с помощью codemodel невозможна, поскольку нельзя объявить что-то вроде:

    открытый аспект TransactionManager {...}

  2. Невозможно правильно повернуть элемент JDeclaredClass, чтобы решить 1. Вам придется переписать почти все с нуля

  3. AspectJ5 вводит аннотации, означающие, что мы можем объявлять аспекты в чистой Java:

    @ Аспект открытый класс TransactionManager {...}

  4. Единственная действительно сложная часть @AspectJ - это объявления между типами, но хорошее / жизнеспособное решение предоставляется здесь .

Вывод: Не похоже, что для создания кода AspectJ необходима специальная библиотека, можно полагаться только на codemodel.

...