Package org.picocontainer
Interface ComponentMonitor
-
- All Known Implementing Classes:
AbstractComponentMonitor,ComposingMonitor,ConsoleComponentMonitor,LifecycleComponentMonitor,NullComponentMonitor,WriterComponentMonitor
public interface ComponentMonitorA component monitor is responsible for monitoring the component instantiation and method invocation.- Author:
- Paul Hammant, Obie Fernandez, Aslak Hellesøy, Mauro Talevi
-
-
Field Summary
Fields Modifier and Type Field Description static java.lang.ObjectKEEP
-
Method Summary
All Methods Instance Methods Abstract 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[] injected, 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.
-
-
-
Method Detail
-
instantiating
<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- 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, java.lang.reflect.Constructor<T> constructor, java.lang.Object instantiated, java.lang.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 addComponentinstantiated- the component that was instantiated by PicoContainerinjected- the components during instantiation.duration- the duration in milliseconds of the instantiation
-
instantiationFailed
<T> void instantiationFailed(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 constructor- Parameters:
container-componentAdapter-constructor- the Constructor used to instantiate the addComponentcause- the Exception detailing the cause of the failure
-
invoking
java.lang.Object invoking(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 instance- Parameters:
container-componentAdapter-member-instance- the component instanceargs-
-
invoked
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)
Event thrown after the component method has been invoked on the given instance- Parameters:
container-componentAdapter-member-instance- the component instanceduration-args-retVal-
-
invocationFailed
void invocationFailed(java.lang.reflect.Member member, java.lang.Object instance, java.lang.Exception cause)Event thrown if the component method invocation failed on the given instance- Parameters:
member-instance- the component instancecause- the Exception detailing the cause of the failure
-
lifecycleInvocationFailed
void lifecycleInvocationFailed(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 instance- Parameters:
container-componentAdapter-method- the lifecycle Method invoked on the component instanceinstance- the component instancecause- the RuntimeException detailing the cause of the failure
-
noComponentFound
java.lang.Object noComponentFound(MutablePicoContainer container, java.lang.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.
-
-