Русский English Тэги View Sergey Zolotaryov's profile on LinkedIn Вход
Поддержка аннотаций в генераторах классов
Постоянная ссылка 18-08-2009 anydoby java

Вчера нужно было сгенерить классов, да не простых, а с аннтоациями на параметрах методов. И что бы вы думали, оказалось очень непросто.

Попробовал Javassist, чтобы не морочиться с байткодом. Так вот он поддерживает только аннотации на уровне декларации классов, методов. А вот про параметры забыли. Написал чуваку, который этот Javassist пишет - Shigeru Chiba (ипонец :)), он открестился - типа Java 5 компилер еще не поддерживается. Да как же, говорю, не поддерживается - у тебя ж аннотации уже есть. На это он по-восточному замолчал.

Потом посмотрел CGLIB. Вообще странная либа - ни доков нигде нету, ни функциональности особо. Интерфейс можно создать без названия. Методы просто добавляются в него с классами параметров и все - никаких аннотаций.

Попробовал SERP, вроде тоже несложно должно быть, судя по документации. Дык нет - классы создаются еще ничего, а вот когда навешиваешь аннотации, начинает сыпать:


java.lang.ClassFormatError: Illegal class modifiers in class ....

В общем потыкаюсь еще немного и вернусь к старому доброму ASMу.

Добавить комментарий

alexander.abakumov
21-08-2009

Не промолчал он - сделал seppuku ;)

anydoby
30-07-2010

Саня, не язвите :) Между прочим. Воды с тех пор утекло много, может что-то и поменялось.

Тогда я искал путей, чтобы XML нам писал код. Но оказалось это геморойное дело. Теперь юзаем Camel.

Предыдущая статья Сортировщик файлов для плейлистов Следующая статья Поддержка piped streams в Camel