Package net.bytebuddy.agent.builder
Class AgentBuilder.Listener.ModuleReadEdgeCompleting
- java.lang.Object
-
- net.bytebuddy.agent.builder.AgentBuilder.Listener.Adapter
-
- net.bytebuddy.agent.builder.AgentBuilder.Listener.ModuleReadEdgeCompleting
-
- All Implemented Interfaces:
AgentBuilder.Listener
- Enclosing interface:
- AgentBuilder.Listener
@Enhance public static class AgentBuilder.Listener.ModuleReadEdgeCompleting extends AgentBuilder.Listener.Adapter
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.
-
-
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
Fields Modifier and Type Field Description private boolean
addTargetEdge
true
if the listener should also add a read-edge from the supplied modules to the instrumented type's module.private java.lang.instrument.Instrumentation
instrumentation
The instrumentation instance used for adding read edges.private java.util.Set<? extends JavaModule>
modules
The modules to add as a read edge to any transformed class's module.-
Fields inherited from interface net.bytebuddy.agent.builder.AgentBuilder.Listener
LOADED
-
-
Constructor Summary
Constructors Constructor Description ModuleReadEdgeCompleting(java.lang.instrument.Instrumentation instrumentation, boolean addTargetEdge, java.util.Set<? extends JavaModule> modules)
Creates a new module read-edge completing listener.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static AgentBuilder.Listener
of(java.lang.instrument.Instrumentation instrumentation, boolean addTargetEdge, java.lang.Class<?>... type)
Resolves a listener that adds module edges from and to the instrumented type's module.void
onTransformation(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType)
Invoked prior to a successful transformation being applied.-
Methods inherited from class net.bytebuddy.agent.builder.AgentBuilder.Listener.Adapter
onComplete, onDiscovery, onError, onIgnored
-
-
-
-
Field Detail
-
instrumentation
private final java.lang.instrument.Instrumentation instrumentation
The instrumentation instance used for adding read edges.
-
addTargetEdge
private final boolean addTargetEdge
true
if the listener should also add a read-edge from the supplied modules to the instrumented type's module. This will also ensure that the package of the instrumented type is exported to the target module.
-
modules
private final java.util.Set<? extends JavaModule> modules
The modules to add as a read edge to any transformed class's module.
-
-
Constructor Detail
-
ModuleReadEdgeCompleting
public ModuleReadEdgeCompleting(java.lang.instrument.Instrumentation instrumentation, boolean addTargetEdge, java.util.Set<? extends JavaModule> modules)
Creates a new module read-edge completing listener.- Parameters:
instrumentation
- The instrumentation instance used for adding read edges.addTargetEdge
-true
if the listener should also add a read-edge from the supplied modules to the instrumented type's module. This will also ensure that the package of the instrumented type is exported to the target module.modules
- The modules to add as a read edge to any transformed class's module.
-
-
Method Detail
-
of
public static AgentBuilder.Listener of(java.lang.instrument.Instrumentation instrumentation, boolean addTargetEdge, java.lang.Class<?>... type)
Resolves a listener that adds module edges from and to the instrumented type's module.- Parameters:
instrumentation
- The instrumentation instance used for adding read edges.addTargetEdge
-true
if the listener should also add a read-edge from the supplied modules to the instrumented type's module. This will also ensure that the package of the instrumented type is exported to the target module.type
- The types for which to extract the modules.- Returns:
- An appropriate listener.
-
onTransformation
public void onTransformation(TypeDescription typeDescription, java.lang.ClassLoader classLoader, JavaModule module, boolean loaded, DynamicType dynamicType)
Description copied from class:AgentBuilder.Listener.Adapter
Invoked prior to a successful transformation being applied.- Specified by:
onTransformation
in interfaceAgentBuilder.Listener
- Overrides:
onTransformation
in classAgentBuilder.Listener.Adapter
- 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.
-
-