Class Transformer
java.lang.Object
org.jrd.agent.Transformer
- All Implemented Interfaces:
ClassFileTransformer
This class represent our transformer for retrieving bytecode.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate booleanprivate ClassClassLoaderMapprivate ClassClassLoaderMap -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidThis method allows saving of bytecodecleanOverrides(String patterns) voidThis method denies the bytecode to be saved during transformation.byte[]Returns bytecode of transformed class.(package private) voidremoveOverride(String clazz) (package private) voidremoveOverride(String clazz, String classloader) voidResets the map with results to empty mapvoidsetOverride(String name, byte[] body, String classloader) byte[]transform(ClassLoader loader, String className, Class<?> clazz, ProtectionDomain domain, byte[] classfileBuffer) Methods inherited from class Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface ClassFileTransformer
transform
-
Field Details
-
allowToSaveBytecode
private volatile boolean allowToSaveBytecode -
results
-
overrides
-
-
Constructor Details
-
Transformer
public Transformer()
-
-
Method Details
-
transform
public byte[] transform(ClassLoader loader, String className, Class<?> clazz, ProtectionDomain domain, byte[] classfileBuffer) throws IllegalClassFormatException - Specified by:
transformin interfaceClassFileTransformer- Throws:
IllegalClassFormatException
-
getResult
-
setOverride
-
getOverriddenFqns
-
getOverriddenFqnPairs
-
resetLastValidResult
public void resetLastValidResult()Resets the map with results to empty map -
allowToSaveBytecode
public void allowToSaveBytecode()This method allows saving of bytecode -
denyToSaveBytecode
public void denyToSaveBytecode()This method denies the bytecode to be saved during transformation. -
removeOverride
-
removeOverride
-
cleanOverrides
-