Interface AgentBuilder.Listener

All Known Implementing Classes:
AgentBuilder.Listener.Adapter, AgentBuilder.Listener.Compound, AgentBuilder.Listener.Filtering, AgentBuilder.Listener.ModuleReadEdgeCompleting, AgentBuilder.Listener.NoOp, AgentBuilder.Listener.StreamWriting, AgentBuilder.Listener.WithErrorsOnly, AgentBuilder.Listener.WithTransformationsOnly, AgentBuilder.RedefinitionStrategy.ResubmissionStrategy.Enabled.Resubmitter
Enclosing interface:
AgentBuilder

public static interface AgentBuilder.Listener
A listener that is informed about events that occur during an instrumentation process.
  • Field Details

    • LOADED

      static final boolean LOADED
      Indicates that a transformed type is loaded.
      See Also:
  • Method Details

    • onDiscovery

      void onDiscovery(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded)
      Invoked upon a type being supplied to a transformer.
      Parameters:
      typeName - The binary name of the instrumented type.
      classLoader - The class loader which is loading this type or null if loaded by the boots loader.
      module - The instrumented type's module or null if the current VM does not support modules.
      loaded - true if the type is already loaded.
    • onTransformation

      void onTransformation(TypeDescription typeDescription, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded, DynamicType dynamicType)
      Invoked prior to a successful transformation being applied.
      Parameters:
      typeDescription - The type that is being transformed.
      classLoader - The class loader which is loading this type or null if loaded by the boots loader.
      module - The transformed type's module or null if the current VM does not support modules.
      loaded - true if the type is already loaded.
      dynamicType - The dynamic type that was created.
    • onIgnored

      void onIgnored(TypeDescription typeDescription, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded)
      Invoked when a type is not transformed but ignored.
      Parameters:
      typeDescription - The type being ignored for transformation.
      classLoader - The class loader which is loading this type or null if loaded by the boots loader.
      module - The ignored type's module or null if the current VM does not support modules.
      loaded - true if the type is already loaded.
    • onError

      void onError(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded, Throwable throwable)
      Invoked when an error has occurred during transformation.
      Parameters:
      typeName - The binary name of the instrumented type.
      classLoader - The class loader which is loading this type or null if loaded by the boots loader.
      module - The instrumented type's module or null if the current VM does not support modules.
      loaded - true if the type is already loaded.
      throwable - The occurred error.
    • onComplete

      void onComplete(String typeName, @MaybeNull ClassLoader classLoader, @MaybeNull JavaModule module, boolean loaded)
      Invoked after a class was attempted to be loaded, independently of its treatment.
      Parameters:
      typeName - The binary name of the instrumented type.
      classLoader - The class loader which is loading this type or null if loaded by the boots loader.
      module - The instrumented type's module or null if the current VM does not support modules.
      loaded - true if the type is already loaded.