Package org.picocontainer.monitors
Class ConsoleComponentMonitor
- java.lang.Object
-
- org.picocontainer.monitors.ConsoleComponentMonitor
-
- All Implemented Interfaces:
java.io.Serializable
,ComponentMonitor
public class ConsoleComponentMonitor extends java.lang.Object implements ComponentMonitor, java.io.Serializable
AComponentMonitor
which writes to aOutputStream
. This is typically used to write to a console. (TODO After serialization, the output printstream is null)- Author:
- Paul Hammant, Aslak Hellesøy, Mauro Talevi
- See Also:
- Serialized Form
-
-
Field Summary
-
Fields inherited from interface org.picocontainer.ComponentMonitor
KEEP
-
-
Constructor Summary
Constructors Constructor Description ConsoleComponentMonitor()
Constructs a console component monitor that sends output to System.out.ConsoleComponentMonitor(java.io.OutputStream out)
Constructs a console component monitor that sends output to the specified output stream.ConsoleComponentMonitor(java.io.OutputStream out, ComponentMonitor delegate)
Constructs a console component monitor chain that sends output to the specified output stream and then sends all events to the delegate component monitor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description <T> void
instantiated(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> 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 constructorvoid
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 instancevoid
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 instancejava.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 instancevoid
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 instanceBehavior
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.java.lang.Object
noComponentFound(MutablePicoContainer container, java.lang.Object componentKey)
No Component has been found for the key in question.
-
-
-
Constructor Detail
-
ConsoleComponentMonitor
public ConsoleComponentMonitor()
Constructs a console component monitor that sends output to System.out.
-
ConsoleComponentMonitor
public ConsoleComponentMonitor(java.io.OutputStream out)
Constructs a console component monitor that sends output to the specified output stream.- Parameters:
out
- the designated output stream. Options include System.out, Socket streams, File streams, etc.
-
ConsoleComponentMonitor
public ConsoleComponentMonitor(java.io.OutputStream out, ComponentMonitor delegate)
Constructs a console component monitor chain that sends output to the specified output stream and then sends all events to the delegate component monitor.- Parameters:
out
- the output stream of choice.delegate
- the next monitor in the component monitor chain to receive event information.
-
-
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:ComponentMonitor
Event thrown as the component is being instantiated using the given constructor- Specified by:
instantiating
in interfaceComponentMonitor
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, java.lang.reflect.Constructor<T> constructor, java.lang.Object instantiated, java.lang.Object[] parameters, 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 interfaceComponentMonitor
constructor
- 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:ComponentMonitor
Event thrown if the component instantiation failed using the given constructor- Specified by:
instantiationFailed
in interfaceComponentMonitor
constructor
- 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:ComponentMonitor
Event thrown as the component method is being invoked on the given instance- Specified by:
invoking
in interfaceComponentMonitor
instance
- 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:ComponentMonitor
Event thrown after the component method has been invoked on the given instance- Specified by:
invoked
in interfaceComponentMonitor
instance
- the component instance
-
invocationFailed
public void invocationFailed(java.lang.reflect.Member member, java.lang.Object instance, java.lang.Exception cause)
Description copied from interface:ComponentMonitor
Event thrown if the component method invocation failed on the given instance- Specified by:
invocationFailed
in interfaceComponentMonitor
instance
- 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:ComponentMonitor
Event thrown if a lifecycle method invocation - start, stop or dispose - failed on the given instance- Specified by:
lifecycleInvocationFailed
in interfaceComponentMonitor
method
- 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:ComponentMonitor
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. - Specified by:
noComponentFound
in interfaceComponentMonitor
-
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 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:
newBehavior
in interfaceComponentMonitor
- Returns:
- an Behavior. For most implementations, the same one as was passed in.
-
-