Skip to main content

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [List Home]
[aspectj-users] expression based pointcuts

Hi

How does the _expression_-based pointcut work?

public class Simple {
  public static String foo = "foo";
  public void foom(){

  }
  public static void main(String[] args) {
    Simple s = new Simple();
    s.foom();
  }
}

pointcut p2() : if(Simple.foo != null && Simple.foo.equals("foo")) && within(Simple);

1. Aspectj determines whether the result of the if statement is statically determinable
2. Aspectj determines the pointcuts which may match (in this example limit to Simple class?)
3. Injects portions to capture the appropriate execution

This is just a wild guess please correct me.

pointcut p3() : if(thisJoinPoint.getArgs()[0].equals("sss"));

in this case the if can not be evaluated statically so EVERY exposed join point in
the system must be injected to carry out the evaluation of the "if"?

If someone knows any documentation regards if pointcut please share it...

Thanks Denes

Back to the top