Class AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher.InjectingInitializer
java.lang.Object
net.bytebuddy.agent.builder.AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher.InjectingInitializer
- All Implemented Interfaces:
LoadedTypeInitializer
- Enclosing class:
AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher
@Enhance
protected static class AgentBuilder.InitializationStrategy.SelfInjection.Dispatcher.InjectingInitializer
extends Object
implements LoadedTypeInitializer
A type initializer that injects all auxiliary types of the instrumented type.
-
Nested Class Summary
Nested classes/interfaces inherited from interface LoadedTypeInitializer
LoadedTypeInitializer.Compound, LoadedTypeInitializer.ForStaticField, LoadedTypeInitializer.NoOp -
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final Set<TypeDescription> The auxiliary types to inject.private final ClassFileLocatorThe class file locator to use.private final ClassInjectorThe class injector to use.private final TypeDescriptionThe instrumented type.private final Map<TypeDescription, LoadedTypeInitializer> The instrumented types and auxiliary types mapped to their loaded type initializers. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotectedInjectingInitializer(TypeDescription instrumentedType, Set<TypeDescription> auxiliaryTypes, ClassFileLocator classFileLocator, Map<TypeDescription, LoadedTypeInitializer> loadedTypeInitializers, ClassInjector classInjector) Creates a new injection initializer. -
Method Summary
-
Field Details
-
instrumentedType
The instrumented type. -
auxiliaryTypes
The auxiliary types to inject. -
classFileLocator
The class file locator to use. -
loadedTypeInitializers
The instrumented types and auxiliary types mapped to their loaded type initializers. The instrumented types and auxiliary types mapped to their loaded type initializers. -
classInjector
The class injector to use.
-
-
Constructor Details
-
InjectingInitializer
protected InjectingInitializer(TypeDescription instrumentedType, Set<TypeDescription> auxiliaryTypes, ClassFileLocator classFileLocator, Map<TypeDescription, LoadedTypeInitializer> loadedTypeInitializers, ClassInjector classInjector) Creates a new injection initializer.- Parameters:
instrumentedType- The instrumented type.auxiliaryTypes- The auxiliary types to inject.classFileLocator- The class file locator to use.loadedTypeInitializers- The instrumented types and auxiliary types mapped to their loaded type initializers.classInjector- The class injector to use.
-
-
Method Details
-
onLoad
Callback that is invoked on the creation of an instrumented type. If the loaded type initializer is alive, this method should be implemented empty instead of throwing an exception.- Specified by:
onLoadin interfaceLoadedTypeInitializer- Parameters:
type- The manifestation of the instrumented type.
-
isAlive
public boolean isAlive()Indicates if this initializer is alive and needs to be invoked. This is only meant as a mark. A loaded type initializer that is not alive might still be called and must therefore not throw an exception but rather provide an empty implementation.- Specified by:
isAlivein interfaceLoadedTypeInitializer- Returns:
trueif this initializer is alive.
-