Определите PointCut, чтобы захватить интерфейс, но не родитель или подменные интерфейсы

StackOverflow https://stackoverflow.com/questions/2859447

  •  30-09-2019
  •  | 
  •  

Вопрос

Мне было интересно, как определить 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?

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top