Question

I was wondering how to define a pointcut in aspecJ that captures any method of an interface but not the methods of any parent or sub-interface.

public interface A {
  void methodA();
}

public interface B extends A {
  void methodB();
}

public interface C extends B {
  void methodC();
}

I would like a poincut that only catches methodB() and not methodA() or methodC(). Is there any way i can do this in a general way without listing all the sub and super interfaces in the pointcut?

Was it helpful?

Solution

To find direct inheritance is not possible with Java or AspectJ.

OTHER TIPS

Have you tried B.methodB(..) or B+.methodB(..) or even B+.*(..) AspectJ method patterns?

Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top