Полная структура метаПрограммирования для Java?

Меня заинтересованы в MetaProgramming (I.E. Программы, которые помогают программированию выполнять утомительные задачи программирования). Я ищу инструмент, который имеет следующие свойства:

  • , используемый как при компиляции, так и во время выполнения;
  • проверяет структуру программы;
  • может добавлять новые классы, методы или поля и сделать их видимыми для компилятора Java;
  • может изменить поведение методов;
  • на основе Java (ну, Java является наиболее популярным языком программирования в соответствии с некоторыми рейтингами);
  • Хорошая интеграция со IDES и сборки инструментов, таких как Муравей, Грейд или Мавена;
  • Активно поддерживаемый проект;
  • Простота в использовании и расширении;

Есть некоторые решения для этого, например:

  • Отражение
  • ASPECTJ
  • Инструмент обработки аннотации
  • Манипуляция байпуляцией (CGLIB, Javassist, Java .Lang.instrument)
  • Eclipse JDT
  • Проект Lombok
  • Groovy, Jruby, Scala

, но, к сожалению, ни один из них не соответствует всем критериям выше. Есть ли полное решение для MetaProgramming для Java?

11
задан iirekm 12 September 2011 в 15:22
поделиться