Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.picocontainer.monitors
Class AbstractComponentMonitor

    java.lang.Object
      org.picocontainer.monitors.AbstractComponentMonitor

All Implemented Interfaces:
  Serializable, ComponentMonitor, ComponentMonitorStrategy

    public class AbstractComponentMonitor

extends Object
implements ComponentMonitor, ComponentMonitorStrategy, Serializable

A `monitor` which delegates to another monitor. It provides a `default ComponentMonitor`, but does not allow to use `null` for the delegate.

It also supports a `monitor strategy` that allows to change the delegate.

Author:
  Mauro Talevi
See Also:
  Serialized Form

Constructor Summary
`AbstractComponentMonitor()` Creates a AbstractComponentMonitor with an instance of `NullComponentMonitor`.
`AbstractComponentMonitor(ComponentMonitor delegate)` Creates a AbstractComponentMonitor with a given delegate

Method Summary
`void` | `changeMonitor(ComponentMonitor monitor)` If the delegate supports a `monitor strategy`, this is used to changed the monitor while keeping the same delegate.
`ComponentMonitor` | `currentMonitor()` Returns the monitor currently used
`
`<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.
`
`<T> Constructor<T>`
` | `instantiating(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor)` Event thrown as the component is being instantiated using the given constructor
`
`<T> void`
` | `instantiationFailed(PicoContainer container, ComponentAdapter<T> componentAdapter, Constructor<T> constructor, Exception e)` Event thrown if the component instantiation failed using the given constructor
`void` | `invocationFailed(Member member, Object instance, Exception e)` Event thrown if the component method invocation failed on the given instance
`void` | `invoked(PicoContainer container, ComponentAdapter<?> componentAdapter, Method method, Object instance, long duration)` Event thrown after the component method has been invoked on the given instance
`void` | `invoking(PicoContainer container, ComponentAdapter<?> componentAdapter, Member member, Object instance)` Event thrown as the component method is being invoked on the given instance
`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
`Behavior` | `newBehavior(Behavior behavior)` A mechanism to monitor or override the Behaviors being made for components.
`Injector` | `newInjector(Injector injector)` A mechanism to monitor or override the Injectors being made for components.
`Object` | `noComponentFound(MutablePicoContainer container, Object componentKey)` No Component has been found for the key in question.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### AbstractComponentMonitor

    public AbstractComponentMonitor(ComponentMonitor delegate)

  Creates a AbstractComponentMonitor with a given delegate

  Parameters:
    `delegate` - the ComponentMonitor to which this monitor delegates

### AbstractComponentMonitor

    public AbstractComponentMonitor()

  Creates a AbstractComponentMonitor with an instance of `NullComponentMonitor`.

Method Detail

### instantiating

    public <T> Constructor<T> instantiating(PicoContainer container,
                                            ComponentAdapter<T> componentAdapter,
                                            Constructor<T> constructor)

  Description copied from interface: `ComponentMonitor`
  Event thrown as the component is being instantiated using the given constructor

  Specified by:
    `instantiating` in interface `ComponentMonitor`
    `constructor` - the Constructor used to instantiate the addComponent @return the constructor to use in instantiation (nearly always the same one as passed in)

### instantiated

    public <T> void instantiated(PicoContainer container,
                                 ComponentAdapter<T> componentAdapter,
                                 Constructor<T> constructor,
                                 Object instantiated,
                                 Object[] injected,
                                 long duration)

  Description copied from interface: `ComponentMonitor`
  Event thrown after the component has been instantiated using the given constructor. This should be called for both Constructor and Setter DI.

  Specified by:
    `instantiated` in interface `ComponentMonitor`
    `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

    public <T> void instantiationFailed(PicoContainer container,
                                        ComponentAdapter<T> componentAdapter,
                                        Constructor<T> constructor,
                                        Exception e)

  Description copied from interface: `ComponentMonitor`
  Event thrown if the component instantiation failed using the given constructor

  Specified by:
    `instantiationFailed` in interface `ComponentMonitor`
    `constructor` - the Constructor used to instantiate the addComponent
    `e` - the Exception detailing the cause of the failure

### invoking

    public void invoking(PicoContainer container,
                         ComponentAdapter<?> componentAdapter,
                         Member member,
                         Object instance)

  Description copied from interface: `ComponentMonitor`
  Event thrown as the component method is being invoked on the given instance

  Specified by:
    `invoking` in interface `ComponentMonitor`
    `instance` - the component instance

### invoked

    public void invoked(PicoContainer container,
                        ComponentAdapter<?> componentAdapter,
                        Method method,
                        Object instance,
                        long duration)

  Description copied from interface: `ComponentMonitor`
  Event thrown after the component method has been invoked on the given instance

  Specified by:
    `invoked` in interface `ComponentMonitor`
    `method` - the Method invoked on the component instance
    `instance` - the component instance
    `duration` - the duration in millis of the invocation

### invocationFailed

    public void invocationFailed(Member member,
                                 Object instance,
                                 Exception e)

  Description copied from interface: `ComponentMonitor`
  Event thrown if the component method invocation failed on the given instance

  Specified by:
    `invocationFailed` in interface `ComponentMonitor`
    `instance` - the component instance
    `e` - the Exception detailing the cause of the failure

### lifecycleInvocationFailed

    public void lifecycleInvocationFailed(MutablePicoContainer container,
                                          ComponentAdapter<?> componentAdapter,
                                          Method method,
                                          Object instance,
                                          RuntimeException cause)

  Description copied from interface: `ComponentMonitor`
  Event thrown if a lifecycle method invocation - start, stop or dispose - failed on the given instance

  Specified by:
    `lifecycleInvocationFailed` in interface `ComponentMonitor`
    `method` - the lifecycle Method invoked on the component instance
    `instance` - the component instance
    `cause` - the RuntimeException detailing the cause of the failure

### noComponentFound

    public Object noComponentFound(MutablePicoContainer container,
                                   Object componentKey)

  Description copied from interface: `ComponentMonitor`
  No Component has been found for the key in question. Implementors of this have a last ditch opportunity to specify something for the need.

  Specified by:
    `noComponentFound` in interface `ComponentMonitor`

### newInjector

    public Injector newInjector(Injector injector)

  Description copied from interface: `ComponentMonitor`
  A mechanism to monitor or override the Injectors being made for components.

  Specified by:
    `newInjector` in interface `ComponentMonitor`
  Returns:
    an Injector. For most implementations, the same one as was passed in.

### newBehavior

    public Behavior newBehavior(Behavior behavior)

  Description copied from interface: `ComponentMonitor`
  A mechanism to monitor or override the Behaviors being made for components.

  Specified by:
    `newBehavior` in interface `ComponentMonitor`
  Returns:
    an Behavior. For most implementations, the same one as was passed in.

### changeMonitor

    public void changeMonitor(ComponentMonitor monitor)

  If the delegate supports a `monitor strategy`, this is used to changed the monitor while keeping the same delegate. Else the delegate is replaced by the new monitor. Changes the component monitor used

  Specified by:
    `changeMonitor` in interface `ComponentMonitorStrategy`
  Parameters:
    `monitor` - the new ComponentMonitor to use

### currentMonitor

    public ComponentMonitor currentMonitor()

  Description copied from interface: `ComponentMonitorStrategy`
  Returns the monitor currently used

  Specified by:
    `currentMonitor` in interface `ComponentMonitorStrategy`
  Returns:
    The ComponentMonitor currently used

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2003-2009 Codehaus. All Rights Reserved.