Package net.bytebuddy.agent.builder
Class AgentBuilder.InitializationStrategy.SelfInjection
- java.lang.Object
-
- net.bytebuddy.agent.builder.AgentBuilder.InitializationStrategy.SelfInjection
-
- All Implemented Interfaces:
AgentBuilder.InitializationStrategy
- Direct Known Subclasses:
AgentBuilder.InitializationStrategy.SelfInjection.Eager,AgentBuilder.InitializationStrategy.SelfInjection.Lazy,AgentBuilder.InitializationStrategy.SelfInjection.Split
- Enclosing interface:
- AgentBuilder.InitializationStrategy
@Enhance public abstract static class AgentBuilder.InitializationStrategy.SelfInjection extends java.lang.Object implements AgentBuilder.InitializationStrategy
An initialization strategy that adds a code block to an instrumented type's type initializer which then calls a specific class that is responsible for the explicit initialization.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected static classAgentBuilder.InitializationStrategy.SelfInjection.DispatcherA dispatcher for a self-initialization strategy.static classAgentBuilder.InitializationStrategy.SelfInjection.EagerA form of self-injection where any auxiliary type is loaded eagerly.static classAgentBuilder.InitializationStrategy.SelfInjection.LazyA form of self-injection where any auxiliary type is loaded lazily.static classAgentBuilder.InitializationStrategy.SelfInjection.SplitA form of self-injection where auxiliary types that are annotated byAuxiliaryType.SignatureRelevantof the instrumented type are loaded lazily and any other auxiliary type is loaded eagerly.-
Nested classes/interfaces inherited from interface net.bytebuddy.agent.builder.AgentBuilder.InitializationStrategy
AgentBuilder.InitializationStrategy.Minimal, AgentBuilder.InitializationStrategy.NoOp, AgentBuilder.InitializationStrategy.SelfInjection
-
-
Field Summary
Fields Modifier and Type Field Description protected NexusAccessornexusAccessorThe nexus accessor to use.
-
Constructor Summary
Constructors Modifier Constructor Description protectedSelfInjection(NexusAccessor nexusAccessor)Creates a new self-injection strategy.
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description AgentBuilder.InitializationStrategy.Dispatcherdispatcher()Creates a new dispatcher for injecting this initialization strategy during a transformation process.protected abstract AgentBuilder.InitializationStrategy.Dispatcherdispatcher(int identification)Creates a new dispatcher.
-
-
-
Field Detail
-
nexusAccessor
protected final NexusAccessor nexusAccessor
The nexus accessor to use.
-
-
Constructor Detail
-
SelfInjection
protected SelfInjection(NexusAccessor nexusAccessor)
Creates a new self-injection strategy.- Parameters:
nexusAccessor- The nexus accessor to use.
-
-
Method Detail
-
dispatcher
public AgentBuilder.InitializationStrategy.Dispatcher dispatcher()
Creates a new dispatcher for injecting this initialization strategy during a transformation process.- Specified by:
dispatcherin interfaceAgentBuilder.InitializationStrategy- Returns:
- The dispatcher to be used.
-
dispatcher
protected abstract AgentBuilder.InitializationStrategy.Dispatcher dispatcher(int identification)
Creates a new dispatcher.- Parameters:
identification- The identification code to use.- Returns:
- An appropriate dispatcher for an initialization strategy.
-
-