* @return represents a class name, the class instance must instanceof InstanceConstructorInterceptor.
* @return represents a class name, the class instance must be a instance of {@link com.a.eye.skywalking.plugin.interceptor.enhance.InstanceConstructorInterceptor}.
* @return represents a class name, the class instance must instanceof StaticMethodsAroundInterceptor.
* @return represents a class name, the class instance must instanceof {@link com.a.eye.skywalking.plugin.interceptor.enhance.StaticMethodsAroundInterceptor}.
* When a interceptor's method, such as {@link InstanceMethodsAroundInterceptor#beforeMethod(EnhancedClassInstanceContext, InstanceMethodInvokeContext, MethodInterceptResult)}, has this as a method argument,
* the interceptor can manipulate the method's return value.
* <p>
* The new value set to this object, by {@link MethodInterceptResult#defineReturnValue(Object)}, will override the origin return value.
*
* @author wusheng
*/
publicclassMethodInterceptResult{
privatebooleanisContinue=true;
privateObject_ret=null;
publicvoiddefineReturnValue(Objectret){
this.isContinue=false;
this._ret=ret;
}
privatebooleanisContinue=true;
privateObject_ret=null;
/**
* define the new return value.
*
* @param ret new return value.
*/
publicvoiddefineReturnValue(Objectret){
this.isContinue=false;
this._ret=ret;
}
/**
* @return true, will trigger method interceptor({@link ClassInstanceMethodsInterceptor} and {@link ClassStaticMethodsInterceptor}) to invoke the origin method. Otherwise, not.