Chcę utworzyć punkt przecięcia w celu wywołania wywołania metody z określonych metod.AspectJ pointcut do wywołania metody w konkretnych metodach
podjąć następujące:
class Parent {
public foo() {
//do something
}
}
class Child extends Parent {
public bar1() {
foo();
}
public bar2() {
foo();
}
public bar3() {
foo();
}
}
chciałbym mieć punkt odcięcia na wezwanie do Foo() w metodach Bar1() i bar3()
Myślałam coś
pointcut fooOperation(): call(public void Parent.foo() && (execution(* Child.bar1()) || execution(* Child.bar3()));
before() : fooOperation() {
//do something else
}
Jednak to nie działa. jakieś pomysły?
dzięki
powiedziałbym ten będzie również pasować do połączenia do 'foo()' w 'bar2()', w przeciwieństwie do intencji? – ShiDoiSi
tak, to by złapało 'foo()' w 'bar2()', co nie jest zgodne z zamierzonym – kabal
Haha. Oto zalecenie: jeśli chcesz przechwycić foo() z bar2..barn, użyj mojego cięcia punktowego i zignoruj wywołanie foo z bar1. Pojawianie się i zmiana tej definicji za każdym razem, gdy dodawany jest nowy pasek, nie jest zbyt bueno. – Rob