public abstract class AbstractTransformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer
Constructor and Description |
---|
AbstractTransformer() |
Modifier and Type | Method and Description |
---|---|
protected abstract boolean |
instrumentableClass(java.lang.String className,
java.lang.Class<?> classBeingRedefined)
Checks if the class have to be transformed
|
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer)
Checks if the class is instrumentable and transforms it.
|
protected abstract byte[] |
transform(java.lang.String className,
java.lang.Class<?> classBeingRedefined,
byte[] classfileBuffer)
Transforms the bytes of the class
|
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.ClassFileTransformer
java.lang.instrument.IllegalClassFormatException
protected abstract byte[] transform(java.lang.String className, java.lang.Class<?> classBeingRedefined, byte[] classfileBuffer)
className
- The internal class nameclassBeingRedefined
- The Class> object or nullFclassfileBuffer
- The bytes of the classprotected abstract boolean instrumentableClass(java.lang.String className, java.lang.Class<?> classBeingRedefined)
className
- The internal class nameclassBeingRedefined
- The Class> object