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.
  • Field Details

    • instrumentedType

      private final TypeDescription instrumentedType
      The instrumented type.
    • rawAuxiliaryTypes

      private final Map<TypeDescription,byte[]> rawAuxiliaryTypes
      The auxiliary types mapped to their class file representation.
    • loadedTypeInitializers

      private final Map<TypeDescription,LoadedTypeInitializer> 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

      private final ClassInjector 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

      public void onLoad(Class<?> type)
      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 interface LoadedTypeInitializer
      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 interface LoadedTypeInitializer
      Returns:
      true if this initializer is alive.