Package net.bytebuddy.agent.builder
Interface AgentBuilder.Listener
-
- All Known Implementing Classes:
AgentBuilder.Listener.Adapter
,AgentBuilder.Listener.Compound
,AgentBuilder.Listener.Filtering
,AgentBuilder.Listener.ModuleReadEdgeCompleting
,AgentBuilder.Listener.NoOp
,AgentBuilder.Listener.StreamWriting
,AgentBuilder.Listener.WithErrorsOnly
,AgentBuilder.Listener.WithTransformationsOnly
,AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Enabled.ResubmissionListener
- Enclosing interface:
- AgentBuilder
public static interface AgentBuilder.Listener
A listener that is informed about events that occur during an instrumentation process.
-
-
Nested Class Summary
Nested Classes Modifier and Type Interface Description static class
AgentBuilder.Listener.Adapter
An adapter for a listener where all methods are implemented as non-operational.static class
AgentBuilder.Listener.Compound
A compound listener that allows to group several listeners in one instance.static class
AgentBuilder.Listener.Filtering
A listener that filters types with a given name from being logged.static class
AgentBuilder.Listener.ModuleReadEdgeCompleting
A listener that adds read-edges to any module of an instrumented class upon its transformation and opens the class's package to the module.static class
AgentBuilder.Listener.NoOp
A no-op implementation of aAgentBuilder.Listener
.static class
AgentBuilder.Listener.StreamWriting
A listener that writes events to aPrintStream
.static class
AgentBuilder.Listener.WithErrorsOnly
A listener that only delegates events if they are failed transformations.static class
AgentBuilder.Listener.WithTransformationsOnly
A listener that only delegates events if they are successful or failed transformations.
-
Field Summary
Fields Modifier and Type Field Description static boolean
LOADED
Indicates that a transformed type is loaded.
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description void
onComplete(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked after a class was attempted to be loaded, independently of its treatment.void
onDiscovery(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked upon a type being supplied to a transformer.void
onError(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, java.lang.Throwable throwable)
Invoked when an error has occurred during transformation.void
onIgnored(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked when a type is not transformed but ignored.void
onTransformation(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType)
Invoked prior to a successful transformation being applied.
-
-
-
Field Detail
-
LOADED
static final boolean LOADED
Indicates that a transformed type is loaded.- See Also:
- Constant Field Values
-
-
Method Detail
-
onDiscovery
void onDiscovery(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked upon a type being supplied to a transformer.- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type.module
- The instrumented type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-
onTransformation
void onTransformation(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType)
Invoked prior to a successful transformation being applied.- Parameters:
typeDescription
- The type that is being transformed.classLoader
- The class loader which is loading this type.module
- The transformed type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.dynamicType
- The dynamic type that was created.
-
onIgnored
void onIgnored(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked when a type is not transformed but ignored.- Parameters:
typeDescription
- The type being ignored for transformation.classLoader
- The class loader which is loading this type.module
- The ignored type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-
onError
void onError(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, java.lang.Throwable throwable)
Invoked when an error has occurred during transformation.- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type.module
- The instrumented type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.throwable
- The occurred error.
-
onComplete
void onComplete(java.lang.String typeName, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded)
Invoked after a class was attempted to be loaded, independently of its treatment.- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type.module
- The instrumented type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-
-