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 booleanaddTargetEdgetrueif the listener should also add a read-edge from the supplied modules to the instrumented type's module.private java.lang.instrument.InstrumentationinstrumentationThe instrumentation instance used for adding read edges.private java.util.Set<? extends JavaModule>modulesThe 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.Listenerof(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.voidonTransformation(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
trueif 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-trueif 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-trueif 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.AdapterInvoked prior to a successful transformation being applied.- Specified by:
onTransformationin interfaceAgentBuilder.Listener- Overrides:
onTransformationin 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 ornullif the current VM does not support modules.loaded-trueif the type is already loaded.dynamicType- The dynamic type that was created.
-
-