public class InstrumentationProvider
extends java.lang.Object
| Modifier and Type | Field and Description |
|---|---|
private java.lang.instrument.Instrumentation |
instrumentation |
private Transformer |
transformer |
| Constructor and Description |
|---|
InstrumentationProvider(java.lang.instrument.Instrumentation inst,
Transformer transformer) |
| Modifier and Type | Method and Description |
|---|---|
private java.lang.Class |
findClass(java.lang.String className) |
byte[] |
findClassBody(java.lang.String className)
Finds class object corresponding to the class name and returns its
bytecode.
|
private byte[] |
getClassBody(java.lang.Class clazz) |
void |
getClassesNames(java.util.concurrent.LinkedBlockingQueue<java.lang.String> queue,
java.lang.Boolean abort)
Inserts names of classes into queue.
|
void |
setClassBody(java.lang.String cname,
byte[] nwBody) |
private final Transformer transformer
private final java.lang.instrument.Instrumentation instrumentation
InstrumentationProvider(java.lang.instrument.Instrumentation inst,
Transformer transformer)
public void setClassBody(java.lang.String cname,
byte[] nwBody)
throws java.lang.instrument.UnmodifiableClassException
java.lang.instrument.UnmodifiableClassExceptionprivate byte[] getClassBody(java.lang.Class clazz)
throws java.lang.instrument.UnmodifiableClassException
java.lang.instrument.UnmodifiableClassExceptionpublic byte[] findClassBody(java.lang.String className)
throws java.lang.instrument.UnmodifiableClassException
className - name of class we want to getjava.lang.instrument.UnmodifiableClassException - if the class can not be retransformedprivate java.lang.Class findClass(java.lang.String className)
public void getClassesNames(java.util.concurrent.LinkedBlockingQueue<java.lang.String> queue,
java.lang.Boolean abort)
throws java.lang.InterruptedException
queue - output queueabort - abort signaljava.lang.InterruptedException