Вчера нужно было сгенерить классов, да не простых, а с аннтоациями на параметрах методов. И что бы вы думали, оказалось очень непросто.
Попробовал Javassist, чтобы не морочиться с байткодом. Так вот он поддерживает только аннотации на уровне декларации классов, методов. А вот про параметры забыли. Написал чуваку, который этот Javassist пишет - Shigeru Chiba (ипонец :)), он открестился - типа Java 5 компилер еще не поддерживается. Да как же, говорю, не поддерживается - у тебя ж аннотации уже есть. На это он по-восточному замолчал.
Потом посмотрел CGLIB. Вообще странная либа - ни доков нигде нету, ни функциональности особо. Интерфейс можно создать без названия. Методы просто добавляются в него с классами параметров и все - никаких аннотаций.
Попробовал SERP, вроде тоже несложно должно быть, судя по документации. Дык нет - классы создаются еще ничего, а вот когда навешиваешь аннотации, начинает сыпать:
java.lang.ClassFormatError: Illegal class modifiers in class ....
В общем потыкаюсь еще немного и вернусь к старому доброму ASMу.