public class DelegatingComponentMonitor extends java.lang.Object implements ComponentMonitor, ComponentMonitorStrategy, java.io.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.
Modifier and Type | Field and Description |
---|---|
private ComponentMonitor |
delegate |
Constructor and Description |
---|
DelegatingComponentMonitor()
Creates a DelegatingComponentMonitor with an instance of
DefaultComponentMonitor . |
DelegatingComponentMonitor(ComponentMonitor delegate)
Creates a DelegatingComponentMonitor with a given delegate
|
Modifier and Type | Method and Description |
---|---|
void |
changeMonitor(ComponentMonitor monitor)
If the delegate supports a
monitor strategy ,
this is used to changed the monitor while keeping the same delegate. |
private void |
checkMonitor(ComponentMonitor monitor) |
ComponentMonitor |
currentMonitor()
Returns the monitor currently used
|
void |
instantiated(java.lang.reflect.Constructor constructor,
long duration)
Event thrown after the component has been instantiated using the given constructor
|
void |
instantiated(java.lang.reflect.Constructor constructor,
java.lang.Object instantiated,
java.lang.Object[] injected,
long duration)
Event thrown after the component has been instantiated using the given constructor.
|
void |
instantiating(java.lang.reflect.Constructor constructor)
Event thrown as the component is being instantiated using the given constructor
|
void |
instantiationFailed(java.lang.reflect.Constructor constructor,
java.lang.Exception e)
Event thrown if the component instantiation failed using the given constructor
|
void |
invocationFailed(java.lang.reflect.Method method,
java.lang.Object instance,
java.lang.Exception e)
Event thrown if the component method invocation failed on the given instance
|
void |
invoked(java.lang.reflect.Method method,
java.lang.Object instance,
long duration)
Event thrown after the component method has been invoked on the given instance
|
void |
invoking(java.lang.reflect.Method method,
java.lang.Object instance)
Event thrown as the component method is being invoked on the given instance
|
void |
lifecycleInvocationFailed(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
|
private ComponentMonitor delegate
public DelegatingComponentMonitor(ComponentMonitor delegate)
delegate
- the ComponentMonitor to which this monitor delegatespublic DelegatingComponentMonitor()
DefaultComponentMonitor
.public void instantiating(java.lang.reflect.Constructor constructor)
ComponentMonitor
instantiating
in interface ComponentMonitor
constructor
- the Constructor used to instantiate the componentpublic void instantiated(java.lang.reflect.Constructor constructor, long duration)
ComponentMonitor
instantiated
in interface ComponentMonitor
constructor
- the Constructor used to instantiate the componentduration
- the duration in millis of the instantiationpublic void instantiated(java.lang.reflect.Constructor constructor, java.lang.Object instantiated, java.lang.Object[] injected, long duration)
ComponentMonitor
instantiated
in interface ComponentMonitor
constructor
- the Constructor used to instantiate the componentinstantiated
- the component that was instantiated by PicoContainerinjected
- the components during instantiation.duration
- the duration in millis of the instantiationpublic void instantiationFailed(java.lang.reflect.Constructor constructor, java.lang.Exception e)
ComponentMonitor
instantiationFailed
in interface ComponentMonitor
constructor
- the Constructor used to instantiate the componente
- the Exception detailing the cause of the failurepublic void invoking(java.lang.reflect.Method method, java.lang.Object instance)
ComponentMonitor
invoking
in interface ComponentMonitor
method
- the Method invoked on the component instanceinstance
- the component instancepublic void invoked(java.lang.reflect.Method method, java.lang.Object instance, long duration)
ComponentMonitor
invoked
in interface ComponentMonitor
method
- the Method invoked on the component instanceinstance
- the component instanceduration
- the duration in millis of the invocationpublic void invocationFailed(java.lang.reflect.Method method, java.lang.Object instance, java.lang.Exception e)
ComponentMonitor
invocationFailed
in interface ComponentMonitor
method
- the Method invoked on the component instanceinstance
- the component instancee
- the Exception detailing the cause of the failurepublic void lifecycleInvocationFailed(java.lang.reflect.Method method, java.lang.Object instance, java.lang.RuntimeException cause)
ComponentMonitor
lifecycleInvocationFailed
in interface ComponentMonitor
method
- the lifecycle Method invoked on the component instanceinstance
- the component instancecause
- the RuntimeException detailing the cause of the failurepublic void changeMonitor(ComponentMonitor monitor)
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 usedchangeMonitor
in interface ComponentMonitorStrategy
monitor
- the new ComponentMonitor to usepublic ComponentMonitor currentMonitor()
ComponentMonitorStrategy
currentMonitor
in interface ComponentMonitorStrategy
private void checkMonitor(ComponentMonitor monitor)