Package net.bytebuddy.agent.builder
Class AgentBuilder.Listener.StreamWriting
java.lang.Object
net.bytebuddy.agent.builder.AgentBuilder.Listener.StreamWriting
- All Implemented Interfaces:
AgentBuilder.Listener
- Enclosing interface:
- AgentBuilder.Listener
@Enhance
public static class AgentBuilder.Listener.StreamWriting
extends Object
implements AgentBuilder.Listener
A listener that writes events to a
PrintStream
. This listener prints a line per event, including the event type and
the name of the type in question.-
Nested Class Summary
Nested classes/interfaces inherited from interface net.bytebuddy.agent.builder.AgentBuilder.Listener
AgentBuilder.Listener.Adapter, AgentBuilder.Listener.Compound, AgentBuilder.Listener.Filtering, AgentBuilder.Listener.ModuleReadEdgeCompleting, AgentBuilder.Listener.NoOp, AgentBuilder.Listener.StreamWriting, AgentBuilder.Listener.WithErrorsOnly, AgentBuilder.Listener.WithTransformationsOnly
-
Field Summary
FieldsModifier and TypeFieldDescriptionprotected static final String
The prefix that is appended to all written messages.private final PrintStream
The print stream written to.Fields inherited from interface net.bytebuddy.agent.builder.AgentBuilder.Listener
LOADED
-
Constructor Summary
ConstructorsConstructorDescriptionStreamWriting
(PrintStream printStream) Creates a new stream writing listener. -
Method Summary
Modifier and TypeMethodDescriptionvoid
onComplete
(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked after a class was attempted to be loaded, independently of its treatment.void
onDiscovery
(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked upon a type being supplied to a transformer.void
onError
(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded, Throwable throwable) Invoked when an error has occurred during transformation.void
onIgnored
(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked when a type is not transformed but ignored.void
onTransformation
(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType) Invoked prior to a successful transformation being applied.Creates a new stream writing listener that writes toSystem.err
.Creates a new stream writing listener that writes toSystem.out
.Returns a version of this listener that only reports failed transformations.Returns a version of this listener that only reports successfully transformed classes and failed transformations.
-
Field Details
-
PREFIX
The prefix that is appended to all written messages.- See Also:
-
printStream
The print stream written to.
-
-
Constructor Details
-
StreamWriting
Creates a new stream writing listener.- Parameters:
printStream
- The print stream written to.
-
-
Method Details
-
toSystemOut
Creates a new stream writing listener that writes toSystem.out
.- Returns:
- A listener writing events to the standard output stream.
-
toSystemError
Creates a new stream writing listener that writes toSystem.err
.- Returns:
- A listener writing events to the standard error stream.
-
withTransformationsOnly
Returns a version of this listener that only reports successfully transformed classes and failed transformations.- Returns:
- A version of this listener that only reports successfully transformed classes and failed transformations.
-
withErrorsOnly
Returns a version of this listener that only reports failed transformations.- Returns:
- A version of this listener that only reports failed transformations.
-
onDiscovery
public void onDiscovery(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded) Invoked upon a type being supplied to a transformer.- Specified by:
onDiscovery
in interfaceAgentBuilder.Listener
- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type ornull
if loaded by the boots loader.module
- The instrumented type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-
onTransformation
public void onTransformation(TypeDescription typeDescription, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded, DynamicType dynamicType) Invoked prior to a successful transformation being applied.- Specified by:
onTransformation
in interfaceAgentBuilder.Listener
- Parameters:
typeDescription
- The type that is being transformed.classLoader
- The class loader which is loading this type ornull
if loaded by the boots loader.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
public void onIgnored(TypeDescription typeDescription, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded) Invoked when a type is not transformed but ignored.- Specified by:
onIgnored
in interfaceAgentBuilder.Listener
- Parameters:
typeDescription
- The type being ignored for transformation.classLoader
- The class loader which is loading this type ornull
if loaded by the boots loader.module
- The ignored type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-
onError
public void onError(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded, Throwable throwable) Invoked when an error has occurred during transformation.- Specified by:
onError
in interfaceAgentBuilder.Listener
- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type ornull
if loaded by the boots loader.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
public void onComplete(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded) Invoked after a class was attempted to be loaded, independently of its treatment.- Specified by:
onComplete
in interfaceAgentBuilder.Listener
- Parameters:
typeName
- The binary name of the instrumented type.classLoader
- The class loader which is loading this type ornull
if loaded by the boots loader.module
- The instrumented type's module ornull
if the current VM does not support modules.loaded
-true
if the type is already loaded.
-