public class AgentTransformer
extends java.lang.Object
implements java.lang.instrument.ClassFileTransformer
HijackTransformer.transform(byte[])
(String, byte[])}} implementation.Constructor and Description |
---|
AgentTransformer(java.lang.String className,
java.lang.String methodName,
HijackBehavior hijackBehavior)
Default constructor which creates an instance for storing
HijackTransformer instances
and adding defined new one. |
Modifier and Type | Method and Description |
---|---|
void |
addHijackBehavior(java.lang.String className,
java.lang.String methodName,
HijackBehavior hijackBehavior)
Adding a new hijacking for instrumentation.
|
java.lang.Class<?>[] |
getAllTransformedClasses()
Returns all classes transformed by any of protocolTransformers.
|
void |
removeHijackBehavior(java.lang.String className,
java.lang.String methodName,
HijackBehavior hijackBehavior)
Remove hijacking from instrumentation.
|
byte[] |
transform(java.lang.ClassLoader loader,
java.lang.String className,
java.lang.Class<?> classBeingRedefined,
java.security.ProtectionDomain protectionDomain,
byte[] classfileBuffer)
Instrumentation.
|
public AgentTransformer(java.lang.String className, java.lang.String methodName, HijackBehavior hijackBehavior)
HijackTransformer
instances
and adding defined new one.className
- which should be instrumented.methodName
- which should be instrumented.hijackBehavior
- specific implementation which will be called during instrumentation.public void addHijackBehavior(java.lang.String className, java.lang.String methodName, HijackBehavior hijackBehavior)
className
- which should be instrumented.methodName
- which should be instrumented.hijackBehavior
- specific implementation which will be called during instrumentation.public void removeHijackBehavior(java.lang.String className, java.lang.String methodName, HijackBehavior hijackBehavior)
className
- of registered hijack.methodName
- of registered hijack.hijackBehavior
- of registered hijack.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
method.
public java.lang.Class<?>[] getAllTransformedClasses() throws AgentException
AgentException