Define pointcut to capture an interface but not parent or sub interfaces
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?
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