2013-01-23 23 views
1

中,我有以下类:的AspectJ获取对象切入点

package Test; 
public class A 
{ 
    private B b = new B() 
    { 
     @Override 
     public boolean someFunc() {return false;} 
    } 
} 

什么是AspectJ切入点捕捉someFunc的执行,并在同一时间到达外类A的参考?

我想:

pointcut captureExec(): within(Test.A) && execution(boolean Test.B+.someFunc()); 
before(): captureExec() 
{ 
    //here thisJoinPount.getTarget() returns object to class B, 
    //but I need reference object to the outer class A 
} 

感谢

回答

0

应该是这样的:

pointcut captureExec(Test.A a): within(a) && execution(boolean Test.B+.someFunc()); 
before(Test.A a): captureExec(a) 
{ 
    if(a==blah) ... 
} 

没有尝试过,虽然

+0

我不能让你的编译。 (a)&&执行(boolean Test.B + .someFunc())&& target(a);在(Test.A a)之前:captureExec(a)“我能够编译,但没有匹配... – bob