public class Transformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer
Modifier and Type | Field and Description |
---|---|
private boolean |
allowToSaveBytecode |
private java.util.HashMap<java.lang.String,byte[]> |
overrides |
private java.util.HashMap<java.lang.String,byte[]> |
results |
Constructor and Description |
---|
Transformer() |
Modifier and Type | Method and Description |
---|---|
void |
allowToSaveBytecode()
This method allows saving of bytecode
|
void |
denyToSaveBytecode()
This method denies the bytecode to be saved during transformation.
|
byte[] |
getResult(java.lang.String name)
Returns bytecode of transformed class.
|
void |
resetLastValidResult()
Resets the map with results to empty map
|
void |
resetOverrides() |
void |
setOverride(java.lang.String name,
byte[] body) |
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer) |
private boolean allowToSaveBytecode
private java.util.HashMap<java.lang.String,byte[]> results
private java.util.HashMap<java.lang.String,byte[]> overrides
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
public byte[] getResult(java.lang.String name)
name
- name of class we want to getpublic void setOverride(java.lang.String name, byte[] body)
public void resetLastValidResult()
public void resetOverrides()
public void allowToSaveBytecode()
public void denyToSaveBytecode()