Interface ComponentMonitor

All Known Implementing Classes:
AbstractComponentMonitor, ComposingMonitor, ConsoleComponentMonitor, LifecycleComponentMonitor, NullComponentMonitor, WriterComponentMonitor

public interface ComponentMonitor
A component monitor is responsible for monitoring the component instantiation and method invocation.
Author:
Paul Hammant, Obie Fernandez, Aslak Hellesøy, Mauro Talevi
  • Field Details

    • KEEP

      static final Object KEEP
  • Method Details

    • instantiating

      <T> Constructor<T> instantiating(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor)
      Event thrown as the component is being instantiated using the given constructor
      Parameters:
      container -
      componentAdapter -
      constructor - the Constructor used to instantiate the addComponent @return the constructor to use in instantiation (nearly always the same one as passed in)
    • instantiated

      <T> void instantiated(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor, Object instantiated, Object[] injected, long duration)
      Event thrown after the component has been instantiated using the given constructor. This should be called for both Constructor and Setter DI.
      Parameters:
      container -
      componentAdapter -
      constructor - the Constructor used to instantiate the addComponent
      instantiated - the component that was instantiated by PicoContainer
      injected - the components during instantiation.
      duration - the duration in milliseconds of the instantiation
    • instantiationFailed

      <T> void instantiationFailed(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor, Exception cause)
      Event thrown if the component instantiation failed using the given constructor
      Parameters:
      container -
      componentAdapter -
      constructor - the Constructor used to instantiate the addComponent
      cause - the Exception detailing the cause of the failure
    • invoking

      Object invoking(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, Object[] args)
      Event thrown as the component method is being invoked on the given instance
      Parameters:
      container -
      componentAdapter -
      member -
      instance - the component instance
      args -
    • invoked

      void invoked(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance, long duration, Object[] args, Object retVal)
      Event thrown after the component method has been invoked on the given instance
      Parameters:
      container -
      componentAdapter -
      member -
      instance - the component instance
      duration -
      args -
      retVal -
    • invocationFailed

      void invocationFailed(Member member, Object instance, Exception cause)
      Event thrown if the component method invocation failed on the given instance
      Parameters:
      member -
      instance - the component instance
      cause - the Exception detailing the cause of the failure
    • lifecycleInvocationFailed

      void lifecycleInvocationFailed(MutablePicoContainer container, ComponentAdapter<?> componentAdapter, Method method, Object instance, RuntimeException cause)
      Event thrown if a lifecycle method invocation - start, stop or dispose - failed on the given instance
      Parameters:
      container -
      componentAdapter -
      method - the lifecycle Method invoked on the component instance
      instance - the component instance
      cause - the RuntimeException detailing the cause of the failure
    • noComponentFound

      Object noComponentFound(MutablePicoContainer container, Object componentKey)
      No Component has been found for the key in question. Implementers of this have a last chance opportunity to specify something for the need. This is only relevant to component dependencies, and not to container.getComponent() in your user code.
      Parameters:
      container -
      componentKey -
    • newInjector

      Injector newInjector(Injector injector)
      A mechanism to monitor or override the Injectors being made for components.
      Parameters:
      injector -
      Returns:
      an Injector. For most implementations, the same one as was passed in.
    • newBehavior

      Behavior newBehavior(Behavior behavior)
      A mechanism to monitor or override the Behaviors being made for components.
      Parameters:
      behavior -
      Returns:
      an Behavior. For most implementations, the same one as was passed in.