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 class
AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher
A dispatcher for a self-initialization strategy.static class
AgentBuilder.InitializationStrategy.SelfInjection.Eager
A form of self-injection where any auxiliary type is loaded eagerly.static class
AgentBuilder.InitializationStrategy.SelfInjection.Lazy
A form of self-injection where any auxiliary type is loaded lazily.static class
AgentBuilder.InitializationStrategy.SelfInjection.Split
A form of self-injection where auxiliary types that are annotated byAuxiliaryType.SignatureRelevant
of 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 NexusAccessor
nexusAccessor
The nexus accessor to use.
-
Constructor Summary
Constructors Modifier Constructor Description protected
SelfInjection(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.Dispatcher
dispatcher()
Creates a new dispatcher for injecting this initialization strategy during a transformation process.protected abstract AgentBuilder.InitializationStrategy.Dispatcher
dispatcher(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:
dispatcher
in 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.
-
-