使用around建议取消方法执行,并在方面内手动执行此方法

时间:2014-04-13 13:38:04

标签: java android aop aspectj

是否可以使用around建议取消方法的执行并在方面的方法中执行它?

示例: 我们有一个项目:

1 - 活动 SenderActivity.java 。在此活动中,我们有一个方法 MethodA(),它返回String。

喜欢:

public static String MethodA(){
String string = "a string";
return string;
}

2 - 我们通过aspect.aj中的切入点捕获MethodA()&#39实施

像:

pointcut pointcut_catchMethodA() : execution(static String MethodA());

并且周围的建议是:

String around() : pointcut_catchMethodA(){
//We return null or simply don't call the proceed()
return null;
}

所以在这里,每次尝试执行MethodA()时,建议都会取消它。

我想知道在取消之后,我能做些什么:

public void MethodToCallMethodAInsideTheAspect(){

SenderActivity.MethodA();

}

通过这种方式,我取消了对MethodA()的原始调用,并在我的aspect.aj中手动调用它。所以我希望MethodA()返回它的原始值。 (string =" String")。

有可能吗?或者,如果有办法实现这一点,那么请不要犹豫你的指导。

因为我尝试了这种实现,当我想手动执行SenderActivity.MethodA()时,我的实现返回了null值。我认为它会回归建议的价值。

0 个答案:

没有答案