1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950 |
- import java.lang.reflect.Field;
-
- import org.aspectj.lang.reflect.*;
-
- public aspect Instrumentation {
- pointcut nofl() : !within(Instrumentation);
-
- pointcut getField() : get(* *) && nofl() && !get(* System.out) ;
-
- after() : getField() {
- final FieldSignature signature = (FieldSignature) thisJoinPointStaticPart.getSignature();
- StringBuffer jpInfo = new StringBuffer();
- jpInfo.append("getField(* ").append(signature.getName()).append(")");
- final Field field = signature.getField();
- jpInfo.append(" getField()='").append(signature.getField()).append("'");
- final Class<?> declaringType = signature.getDeclaringType();
- jpInfo.append(" getDeclaringType()='"+declaringType).append("'");
- final Object receiver = thisJoinPoint.getTarget();
- if (receiver == null) {
- jpInfo.append(" signature.getTarget() is null (only ok if static)");
- }
- System.out.println(jpInfo.toString());
- }
-
-
-
- /*
- pointcut setField() : set(* *) && nofl();
-
- after() : setField() {
- System.out.println("setField()");
- final FieldSignature signature = (FieldSignature) thisJoinPointStaticPart
- .getSignature();
- final Field field = signature.getField();
- if (field == null)
- System.out.println(" - field " + signature.getName()
- + " is null...bug!");
- final Class<?> declaringType = signature.getDeclaringType();
- if (declaringType == null)
- System.out.println(" - declaringType for the field "
- + signature.getName() + " is null...bug!");
- final Object receiver = thisJoinPoint.getTarget();
- if (receiver == null)
- System.out.println(" - target (receiver) for the field "
- + signature.getName() + " is null...bug!");
- }
- */
-
- }
|