Pergunta

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?

Foi útil?

Solução

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

Outras dicas

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

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top