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 StringThe prefix that is appended to all written messages.private final PrintStreamThe 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 TypeMethodDescriptionvoidonComplete(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked after a class was attempted to be loaded, independently of its treatment.voidonDiscovery(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked upon a type being supplied to a transformer.voidonError(String typeName, ClassLoader classLoader, JavaModule module, boolean loaded, Throwable throwable) Invoked when an error has occurred during transformation.voidonIgnored(TypeDescription typeDescription, ClassLoader classLoader, JavaModule module, boolean loaded) Invoked when a type is not transformed but ignored.voidonTransformation(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:
onDiscoveryin interfaceAgentBuilder.Listener- Parameters:
typeName- The binary name of the instrumented type.classLoader- The class loader which is loading this type ornullif loaded by the boots loader.module- The instrumented type's module ornullif the current VM does not support modules.loaded-trueif 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:
onTransformationin interfaceAgentBuilder.Listener- Parameters:
typeDescription- The type that is being transformed.classLoader- The class loader which is loading this type ornullif loaded by the boots loader.module- The transformed type's module ornullif the current VM does not support modules.loaded-trueif 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:
onIgnoredin interfaceAgentBuilder.Listener- Parameters:
typeDescription- The type being ignored for transformation.classLoader- The class loader which is loading this type ornullif loaded by the boots loader.module- The ignored type's module ornullif the current VM does not support modules.loaded-trueif 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:
onErrorin interfaceAgentBuilder.Listener- Parameters:
typeName- The binary name of the instrumented type.classLoader- The class loader which is loading this type ornullif loaded by the boots loader.module- The instrumented type's module ornullif the current VM does not support modules.loaded-trueif 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:
onCompletein interfaceAgentBuilder.Listener- Parameters:
typeName- The binary name of the instrumented type.classLoader- The class loader which is loading this type ornullif loaded by the boots loader.module- The instrumented type's module ornullif the current VM does not support modules.loaded-trueif the type is already loaded.
-