package org.skywalking.apm.agent.core.plugin.interceptor; import net.bytebuddy.description.method.MethodDescription; import net.bytebuddy.matcher.ElementMatcher; /** * One of the three "Intercept Point". * "Intercept Point" is a definition about where and how intercept happens. * In this "Intercept Point", the definition targets class's instance methods, and the interceptor. * <p> * ref to two others: {@link ConstructorInterceptPoint} and {@link StaticMethodsInterceptPoint} * <p> * Created by wusheng on 2016/11/29. */ public interface InstanceMethodsInterceptPoint { /** * class instance methods matcher. * * @return methods matcher */ ElementMatcher<MethodDescription> getMethodsMatcher(); /** * @return represents a class name, the class instance must instanceof InstanceMethodsAroundInterceptor. */ String getMethodsInterceptor(); }