jboss-aop.xml
<annotation-introduction expr="constructor(POJO->new())"> @complex (ch='a', string="hello world", flt=5.5, dbl=6.6, shrt=5, lng=6, integer=7, bool=true, annotation=@single("hello"), array={"hello", "world"}, clazz=java.lang.String) </annotation-introduction>
It is pretty simple, define an expression within the expr attribute. constructor(), method(), class(), and field() all take a corresponding expression of that type. You can also use the has() and hasfield() operators as well if you wish and any boolean expression with those 6 operators.
$ antThis should be the output:
run: [java] --- new POJO(); --- [java] @single ("hello world") [java] @complex (ch='a', "hello world", flt=5.5, dbl=6.6, ...blah blah blah YOU GET THE IDEA... [java] <<< Trace : executing constructor public POJO() [java] empty constructor [java] >>> Leaving Trace [java] --- pojo.someMethod(); --- [java] @single ("hello world") [java] @complex (ch='a', "hello world", flt=5.5, dbl=6.6, ...blah blah blah YOU GET THE IDEA... [java] <<< Trace : executing method public void POJO.someMethod() [java] someMethod [java] >>> Leaving Trace [java] --- pojo.field = 55; --- [java] @single ("hello world") [java] @complex (ch='a', "hello world", flt=5.5, dbl=6.6, ...blah blah blah YOU GET THE IDEA... [java] <<< Trace : write field name: public int POJO.field [java] >>> Leaving Trace