public class PointCutClassTransformer extends java.lang.Object implements ContextClassTransformer
PointCuts.
Certain classes are always skipped based on their full class name.ClassNameFilter| Modifier and Type | Field and Description |
|---|---|
protected java.util.Collection<PointCut> |
pointcuts |
| Modifier | Constructor and Description |
|---|---|
protected |
PointCutClassTransformer(InstrumentationProxy pInstrumentation,
boolean pRetransformSupported) |
| Modifier and Type | Method and Description |
|---|---|
static boolean |
canModifyClassStructure(java.lang.ClassLoader classLoader,
java.lang.Class<?> classBeingRedefined) |
java.lang.reflect.InvocationHandler |
evaluate(java.lang.Class clazz,
TracerService tracerService,
java.lang.Object className,
java.lang.Object methodName,
java.lang.Object methodDesc,
boolean ignoreApdex,
java.lang.Object[] args) |
ClassNameFilter |
getClassNameFilter() |
protected int |
getClassReaderFlags() |
ClassMatchVisitorFactory |
getMatcher() |
java.util.Collection<PointCut> |
getPointcuts() |
protected com.newrelic.agent.instrumentation.PointCutClassTransformer.WeavingLoaderImpl |
getWeavingLoader(java.lang.ClassLoader loader) |
protected com.newrelic.agent.instrumentation.PointCutClassTransformer.WeavingLoaderImpl |
getWeavingLoader(java.lang.ClassLoader loader,
boolean pIsRetrans) |
static boolean |
hasBeenLoaded(java.lang.Class<?> clazz) |
protected boolean |
isExcluded(java.lang.String className) |
protected boolean |
isIncluded(java.lang.String className) |
static boolean |
isInstrumented(java.lang.Class<?> clazz) |
static boolean |
isInstrumentedAndModified(java.lang.Class<?> clazz) |
protected boolean |
isRetransformSupported()
Gets the field retransformSupported.
|
static boolean |
isValidClassName(java.lang.String className) |
protected boolean |
shouldTransform(java.lang.ClassLoader loader,
java.lang.String className,
byte[] classfileBuffer) |
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer,
InstrumentationContext context,
OptimizedClassMatcher.Match match) |
protected final java.util.Collection<PointCut> pointcuts
protected PointCutClassTransformer(InstrumentationProxy pInstrumentation, boolean pRetransformSupported)
public ClassMatchVisitorFactory getMatcher()
public java.util.Collection<PointCut> getPointcuts()
public byte[] transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer,
InstrumentationContext context,
OptimizedClassMatcher.Match match)
throws java.lang.instrument.IllegalClassFormatException
transform in interface ContextClassTransformerjava.lang.instrument.IllegalClassFormatExceptionprotected boolean shouldTransform(java.lang.ClassLoader loader,
java.lang.String className,
byte[] classfileBuffer)
protected boolean isIncluded(java.lang.String className)
protected boolean isExcluded(java.lang.String className)
protected boolean isRetransformSupported()
protected int getClassReaderFlags()
protected com.newrelic.agent.instrumentation.PointCutClassTransformer.WeavingLoaderImpl getWeavingLoader(java.lang.ClassLoader loader)
protected com.newrelic.agent.instrumentation.PointCutClassTransformer.WeavingLoaderImpl getWeavingLoader(java.lang.ClassLoader loader,
boolean pIsRetrans)
public final ClassNameFilter getClassNameFilter()
public java.lang.reflect.InvocationHandler evaluate(java.lang.Class clazz,
TracerService tracerService,
java.lang.Object className,
java.lang.Object methodName,
java.lang.Object methodDesc,
boolean ignoreApdex,
java.lang.Object[] args)
public static boolean isInstrumented(java.lang.Class<?> clazz)
public static boolean isInstrumentedAndModified(java.lang.Class<?> clazz)
public static boolean canModifyClassStructure(java.lang.ClassLoader classLoader,
java.lang.Class<?> classBeingRedefined)
public static boolean hasBeenLoaded(java.lang.Class<?> clazz)
public static boolean isValidClassName(java.lang.String className)