Package org.picocontainer.monitors
Class LifecycleComponentMonitor
- java.lang.Object
-
- org.picocontainer.monitors.LifecycleComponentMonitor
-
- All Implemented Interfaces:
ComponentMonitor
public final class LifecycleComponentMonitor extends java.lang.Object implements ComponentMonitor
AComponentMonitorwhich collects lifecycle failures and rethrows them on demand after the failures.- Author:
- Paul Hammant, Mauro Talevi
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description classLifecycleComponentMonitor.LifecycleFailuresExceptionSubclass ofPicoExceptionthat is thrown when the collected lifecycle failures need to be be collectively rethrown.
-
Field Summary
-
Fields inherited from interface org.picocontainer.ComponentMonitor
KEEP
-
-
Constructor Summary
Constructors Constructor Description LifecycleComponentMonitor()LifecycleComponentMonitor(ComponentMonitor delegate)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> voidinstantiated(PicoContainer container, ComponentAdapter<T> componentAdapter, java.lang.reflect.Constructor<T> constructor, java.lang.Object instantiated, java.lang.Object[] parameters, long duration)Event thrown after the component has been instantiated using the given constructor.<T> java.lang.reflect.Constructor<T>instantiating(PicoContainer container, ComponentAdapter<T> componentAdapter, java.lang.reflect.Constructor<T> constructor)Event thrown as the component is being instantiated using the given constructor<T> voidinstantiationFailed(PicoContainer container, ComponentAdapter<T> componentAdapter, java.lang.reflect.Constructor<T> constructor, java.lang.Exception cause)Event thrown if the component instantiation failed using the given constructorvoidinvocationFailed(java.lang.reflect.Member member, java.lang.Object instance, java.lang.Exception cause)Event thrown if the component method invocation failed on the given instancevoidinvoked(PicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Member member, java.lang.Object instance, long duration, java.lang.Object[] args, java.lang.Object retVal)Event thrown after the component method has been invoked on the given instancejava.lang.Objectinvoking(PicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Member member, java.lang.Object instance, java.lang.Object[] args)Event thrown as the component method is being invoked on the given instancevoidlifecycleInvocationFailed(MutablePicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Method method, java.lang.Object instance, java.lang.RuntimeException cause)Event thrown if a lifecycle method invocation - start, stop or dispose - failed on the given instanceBehaviornewBehavior(Behavior behavior)A mechanism to monitor or override the Behaviors being made for components.InjectornewInjector(Injector injector)A mechanism to monitor or override the Injectors being made for components.java.lang.ObjectnoComponentFound(MutablePicoContainer container, java.lang.Object componentKey)No Component has been found for the key in question.voidrethrowLifecycleFailuresException()
-
-
-
Constructor Detail
-
LifecycleComponentMonitor
public LifecycleComponentMonitor(ComponentMonitor delegate)
-
LifecycleComponentMonitor
public LifecycleComponentMonitor()
-
-
Method Detail
-
instantiating
public <T> java.lang.reflect.Constructor<T> instantiating(PicoContainer container, ComponentAdapter<T> componentAdapter, java.lang.reflect.Constructor<T> constructor)
Description copied from interface:ComponentMonitorEvent thrown as the component is being instantiated using the given constructor- Specified by:
instantiatingin interfaceComponentMonitorconstructor- 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, java.lang.reflect.Constructor<T> constructor, java.lang.Object instantiated, java.lang.Object[] parameters, long duration)
Description copied from interface:ComponentMonitorEvent thrown after the component has been instantiated using the given constructor. This should be called for both Constructor and Setter DI.- Specified by:
instantiatedin interfaceComponentMonitorconstructor- the Constructor used to instantiate the addComponentinstantiated- the component that was instantiated by PicoContainerparameters- the components during instantiation.duration- the duration in milliseconds of the instantiation
-
instantiationFailed
public <T> void instantiationFailed(PicoContainer container, ComponentAdapter<T> componentAdapter, java.lang.reflect.Constructor<T> constructor, java.lang.Exception cause)
Description copied from interface:ComponentMonitorEvent thrown if the component instantiation failed using the given constructor- Specified by:
instantiationFailedin interfaceComponentMonitorconstructor- the Constructor used to instantiate the addComponentcause- the Exception detailing the cause of the failure
-
invoking
public java.lang.Object invoking(PicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Member member, java.lang.Object instance, java.lang.Object[] args)
Description copied from interface:ComponentMonitorEvent thrown as the component method is being invoked on the given instance- Specified by:
invokingin interfaceComponentMonitorinstance- the component instance
-
invoked
public void invoked(PicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Member member, java.lang.Object instance, long duration, java.lang.Object[] args, java.lang.Object retVal)
Description copied from interface:ComponentMonitorEvent thrown after the component method has been invoked on the given instance- Specified by:
invokedin interfaceComponentMonitorinstance- the component instance
-
invocationFailed
public void invocationFailed(java.lang.reflect.Member member, java.lang.Object instance, java.lang.Exception cause)Description copied from interface:ComponentMonitorEvent thrown if the component method invocation failed on the given instance- Specified by:
invocationFailedin interfaceComponentMonitorinstance- the component instancecause- the Exception detailing the cause of the failure
-
lifecycleInvocationFailed
public void lifecycleInvocationFailed(MutablePicoContainer container, ComponentAdapter<?> componentAdapter, java.lang.reflect.Method method, java.lang.Object instance, java.lang.RuntimeException cause)
Description copied from interface:ComponentMonitorEvent thrown if a lifecycle method invocation - start, stop or dispose - failed on the given instance- Specified by:
lifecycleInvocationFailedin interfaceComponentMonitormethod- the lifecycle Method invoked on the component instanceinstance- the component instancecause- the RuntimeException detailing the cause of the failure
-
noComponentFound
public java.lang.Object noComponentFound(MutablePicoContainer container, java.lang.Object componentKey)
Description copied from interface:ComponentMonitorNo 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. - Specified by:
noComponentFoundin interfaceComponentMonitor
-
newInjector
public Injector newInjector(Injector injector)
Description copied from interface:ComponentMonitorA mechanism to monitor or override the Injectors being made for components.- Specified by:
newInjectorin interfaceComponentMonitor- Returns:
- an Injector. For most implementations, the same one as was passed in.
-
newBehavior
public Behavior newBehavior(Behavior behavior)
A mechanism to monitor or override the Behaviors being made for components.- Specified by:
newBehaviorin interfaceComponentMonitor- Returns:
- an Behavior. For most implementations, the same one as was passed in.
-
rethrowLifecycleFailuresException
public void rethrowLifecycleFailuresException()
-
-