Tôi muốn tạo một phím tắt để nhắm mục tiêu cuộc gọi đến một phương thức từ các phương pháp cụ thể.Phím tắt AspectJ để gọi phương thức theo các phương thức cụ thể
mất sau:
class Parent {
public foo() {
//do something
}
}
class Child extends Parent {
public bar1() {
foo();
}
public bar2() {
foo();
}
public bar3() {
foo();
}
}
Tôi muốn có một vết cắt điểm trên cuộc gọi đến foo() trong phương pháp bar1() và bar3()
Tôi đã suy nghĩ cái gì đó như
pointcut fooOperation(): call(public void Parent.foo() && (execution(* Child.bar1()) || execution(* Child.bar3()));
before() : fooOperation() {
//do something else
}
tuy nhiên, điều đó dường như không hoạt động. bất kỳ ý tưởng?
nhờ
tôi muốn nói một điều này cũng sẽ phù hợp với các cuộc gọi để 'foo()' trong 'bar2()', trái với ý định? – ShiDoiSi
có, điều đó sẽ bắt 'foo()' trong 'bar2()', đó không phải là những gì được dự định – kabal
Haha. Dưới đây là một đề nghị: nếu bạn muốn chụp foo() từ bar2..barn, hãy sử dụng điểm cắt của tôi và bỏ qua cuộc gọi đến foo từ bar1. Đến và thay đổi định nghĩa đó mỗi khi một thanh mới được thêm vào không phải là rất bueno. – Rob