public abstract class AbstractClassTransformer extends java.lang.Object implements StartableClassFileTransformer
| Constructor and Description |
|---|
AbstractClassTransformer(int classreaderFlags) |
AbstractClassTransformer(int classreaderFlags,
boolean enabled) |
| Modifier and Type | Method and Description |
|---|---|
protected int |
getClassReaderFlags() |
protected abstract org.objectweb.asm.ClassVisitor |
getClassVisitor(org.objectweb.asm.ClassReader cr,
org.objectweb.asm.ClassWriter cw,
java.lang.String className,
java.lang.ClassLoader loader) |
protected boolean |
isAbleToResolveAgent(java.lang.ClassLoader loader,
java.lang.String className) |
protected boolean |
isEnabled()
If this transformer is not enabled it won't be added to
Instrumentation. |
protected abstract boolean |
isRetransformSupported() |
protected abstract boolean |
matches(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer) |
protected void |
start()
This is called by
start(InstrumentationProxy, boolean) after this transformer has been added to
Instrumentation. |
void |
start(InstrumentationProxy instrumentation,
boolean isRetransformSupported)
Start method to be called after this transformer is added to
Instrumentation. |
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer) |
public AbstractClassTransformer(int classreaderFlags)
public AbstractClassTransformer(int classreaderFlags,
boolean enabled)
public byte[] transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer)
throws java.lang.instrument.IllegalClassFormatException
transform in interface java.lang.instrument.ClassFileTransformerjava.lang.instrument.IllegalClassFormatExceptionprotected boolean isAbleToResolveAgent(java.lang.ClassLoader loader,
java.lang.String className)
protected int getClassReaderFlags()
public void start(InstrumentationProxy instrumentation, boolean isRetransformSupported)
StartableClassFileTransformerInstrumentation.start in interface StartableClassFileTransformerprotected void start()
start(InstrumentationProxy, boolean) after this transformer has been added to
Instrumentation.Instrumentation.addTransformer(java.lang.instrument.ClassFileTransformer)protected boolean isEnabled()
Instrumentation.protected abstract boolean isRetransformSupported()
protected abstract org.objectweb.asm.ClassVisitor getClassVisitor(org.objectweb.asm.ClassReader cr,
org.objectweb.asm.ClassWriter cw,
java.lang.String className,
java.lang.ClassLoader loader)
protected abstract boolean matches(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer)