package org.skywalking.apm.agent.core.plugin; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.ConstructorInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceConstructorInterceptor; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.InstanceMethodsAroundInterceptor; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInterceptResult; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.MethodInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.StaticMethodInvokeContext; import org.skywalking.apm.agent.core.plugin.interceptor.enhance.StaticMethodsAroundInterceptor; import org.skywalking.apm.agent.core.plugin.interceptor.EnhancedClassInstanceContext; public class MockPluginInterceptor implements InstanceMethodsAroundInterceptor, StaticMethodsAroundInterceptor, InstanceConstructorInterceptor { @Override public void beforeMethod(StaticMethodInvokeContext interceptorContext, MethodInterceptResult result) { } @Override public Object afterMethod(StaticMethodInvokeContext interceptorContext, Object ret) { return ret + "_STATIC"; } @Override public void handleMethodException(Throwable t, MethodInvokeContext interceptorContext) { } @Override public void beforeMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, MethodInterceptResult result) { } @Override public Object afterMethod(EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext, Object ret) { return ret + String.valueOf(context.get("VALUE")); } @Override public void handleMethodException(Throwable t, EnhancedClassInstanceContext context, InstanceMethodInvokeContext interceptorContext) { } @Override public void onConstruct(EnhancedClassInstanceContext context, ConstructorInvokeContext interceptorContext) { context.set("VALUE", interceptorContext.allArguments()[0]); } }