Определите PointCut, чтобы захватить интерфейс, но не родитель или подменные интерфейсы
Вопрос
Мне было интересно, как определить PointCut в Aspecj, который захватывает любой метод интерфейса, но не методы любого родительского или суб-интерфейса.
public interface A {
void methodA();
}
public interface B extends A {
void methodB();
}
public interface C extends B {
void methodC();
}
Я хотел бы, чтобы PoIntut уловит только MODICB (), а не методику () или методик (). Есть ли способ, которым я могу сделать это вообще, не перечисляя все саб и супер интерфейсы в PointCut?
Решение
Найти прямое наследование невозможно с Java или Aspectj.
Другие советы
Вы пробовали b.methodb (..) или b + .methodb (..) или даже b +. * (..) Узоры метода Aspectj?
Не связан с StackOverflow