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 constructors, and the interceptor. * <p> * ref to two others: {@link StaticMethodsInterceptPoint} and {@link InstanceMethodsInterceptPoint} * <p> * Created by wusheng on 2016/11/29. */ public interface ConstructorInterceptPoint { /** * Constructor matcher * * @return matcher instance. */ ElementMatcher<MethodDescription> getConstructorMatcher(); /** * @return represents a class name, the class instance must be a instance of {@link * org.skywalking.apm.plugin.interceptor.enhance.InstanceConstructorInterceptor}. */ String getConstructorInterceptor(); }