Intercept everything
All
The all pointcut expression matches any constructor, method, or field execution of a particular class expression.
<aop>
<bind pointcut="all(POJO)">
<interceptor class="SimpleInterceptor"/>
</bind>
</aop>
The SimpleInterceptor will be called for the constructor, method, and field access in Driver.java
Running
To compile and run:
$ ant
It will javac the files and then run the AOPC precompiler to manipulate the bytecode, then finally run the example. The output should read as follows:
run:
[java] --- new POJO(); ---
[java] <<< Entering SimpleInterceptor type: org.jboss.aop.joinpoint.ConstructorInvocation
[java] empty constructor
[java] >>> Leaving SimpleInterceptor
[java] --- pojo.someMethod(); ---
[java] <<< Entering SimpleInterceptor type: org.jboss.aop.joinpoint.MethodInvocation
[java] someMethod
[java] >>> Leaving SimpleInterceptor
[java] --- pojo.var++; ---
[java] <<< Entering SimpleInterceptor type: org.jboss.aop.joinpoint.FieldReadInvocation
[java] >>> Leaving SimpleInterceptor
[java] <<< Entering SimpleInterceptor type: org.jboss.aop.joinpoint.FieldWriteInvocation
[java] >>> Leaving SimpleInterceptor