Quiero crear un punto de corte para dirigir una llamada a un método desde métodos específicos.aspectoJ corte de punto a método de llamada en métodos específicos
tomar el siguiente:
class Parent {
public foo() {
//do something
}
}
class Child extends Parent {
public bar1() {
foo();
}
public bar2() {
foo();
}
public bar3() {
foo();
}
}
me gustaría tener un punto de corte en la llamada a foo() en los métodos Bar1() y bar3()
que estaba pensando algo así como
pointcut fooOperation(): call(public void Parent.foo() && (execution(* Child.bar1()) || execution(* Child.bar3()));
before() : fooOperation() {
//do something else
}
Sin embargo, eso no parece funcionar. ¿algunas ideas?
gracias
yo diría que éste también se correspondería con la llamada a 'foo()' en 'bar2()', al contrario de la intención? – ShiDoiSi
sí, eso captaría el 'foo()' en 'bar2()', que no es lo que se pretende – kabal
Haha. Aquí hay una recomendación: si quiere capturar foo() desde bar2..barn, use mi punto de corte e ignore la llamada a foo desde bar1. Entrar y cambiar esa definición cada vez que se agrega una nueva barra no es muy bueno. – Rob