Package net.bytebuddy.agent.builder
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 net.bytebuddy.implementation.LoadedTypeInitializer
LoadedTypeInitializer.Compound, LoadedTypeInitializer.ForStaticField, LoadedTypeInitializer.NoOp
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate final ClassInjector
The class injector to use.private final TypeDescription
The instrumented type.private final Map
<TypeDescription, LoadedTypeInitializer> The instrumented types and auxiliary types mapped to their loaded type initializers.private final Map
<TypeDescription, byte[]> The auxiliary types mapped to their class file representation. -
Constructor Summary
ConstructorsModifierConstructorDescriptionprotected
InjectingInitializer
(TypeDescription instrumentedType, Map<TypeDescription, byte[]> rawAuxiliaryTypes, Map<TypeDescription, LoadedTypeInitializer> loadedTypeInitializers, ClassInjector classInjector) Creates a new injection initializer. -
Method Summary
-
Field Details
-
instrumentedType
The instrumented type. -
rawAuxiliaryTypes
The auxiliary types mapped to their class file representation. -
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, Map<TypeDescription, byte[]> rawAuxiliaryTypes, Map<TypeDescription, LoadedTypeInitializer> loadedTypeInitializers, ClassInjector classInjector) Creates a new injection initializer.- Parameters:
instrumentedType
- The instrumented type.rawAuxiliaryTypes
- The auxiliary types mapped to their class file representation.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:
onLoad
in 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:
isAlive
in interfaceLoadedTypeInitializer
- Returns:
true
if this initializer is alive.
-