# Uses of Interface
org.picocontainer.ComponentMonitor

Packages that use ComponentMonitor
Package
Description
org.picocontainer
This package contains the core API for PicoContainer, a compact container for working with the dependency injection pattern.
org.picocontainer.adapters
org.picocontainer.behaviors
BehaviorFactories make Behaviors which change aspects of component implementations and instances
org.picocontainer.classname
org.picocontainer.containers
Containers are the main user entry point for PicoContainer.
org.picocontainer.injectors
InjectionFactories make Injectors which implement specific types of dependency injection
org.picocontainer.lifecycle
Alternative implementations of lifecycle strategy for use with a container.
org.picocontainer.monitors
A Monitor is something PicoContainer uses to inform on events in component instantiation and lifecycle.

## Uses of ComponentMonitor in org.picocontainer

Fields in org.picocontainer declared as ComponentMonitor
Modifier and Type
Field
Description
`protected ComponentMonitor`
DefaultPicoContainer.`componentMonitor`
Component monitor instance.
Methods in org.picocontainer that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
ComponentMonitorStrategy.`currentMonitor()`
Returns the monitor currently used
`ComponentMonitor`
DefaultPicoContainer.`currentMonitor()`
Returns the first current monitor found in the ComponentFactory, the component adapters and the child containers, if these support a ComponentMonitorStrategy.
Methods in org.picocontainer with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`<T> ComponentAdapter<T>`
BehaviorFactory.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`void`
ComponentMonitorStrategy.`changeMonitor(ComponentMonitor monitor)`
Changes the component monitor used
`void`
DefaultPicoContainer.`changeMonitor(ComponentMonitor monitor)`
Changes monitor in the ComponentFactory, the component adapters and the child containers, if these support a ComponentMonitorStrategy.
`<T> ComponentAdapter<T>`
ComponentFactory.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`PicoBuilder`
PicoBuilder.`withMonitor(ComponentMonitor specifiedComponentMonitor)`
Allows you to specify your very own component monitor to be used by the created picocontainer
Method parameters in org.picocontainer with type arguments of type ComponentMonitor
Modifier and Type
Method
Description
`PicoBuilder`
PicoBuilder.`withMonitor(Class<? extends ComponentMonitor> cmClass)`
Constructors in org.picocontainer with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`DefaultPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ComponentMonitor componentMonitor)`
``
`DefaultPicoContainer(ComponentMonitor monitor)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor
``
`DefaultPicoContainer(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, PicoContainer parent)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor and lifecycle strategy
``
`DefaultPicoContainer(ComponentMonitor monitor, PicoContainer parent)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor

## Uses of ComponentMonitor in org.picocontainer.adapters

Methods in org.picocontainer.adapters that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
AbstractAdapter.`currentMonitor()`
Returns the monitor currently used
Methods in org.picocontainer.adapters with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`void`
AbstractAdapter.`changeMonitor(ComponentMonitor monitor)`
Constructors in org.picocontainer.adapters with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`AbstractAdapter(Object componentKey, Class componentImplementation, ComponentMonitor monitor)`
Constructs a new ComponentAdapter for the given key and implementation.
``
`InstanceAdapter(Object componentKey, T componentInstance, ComponentMonitor componentMonitor)`
``
`InstanceAdapter(Object componentKey, T componentInstance, LifecycleStrategy lifecycleStrategy, ComponentMonitor componentMonitor)`

## Uses of ComponentMonitor in org.picocontainer.behaviors

Methods in org.picocontainer.behaviors that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
AbstractBehavior.`currentMonitor()`
Returns delegate's current monitor if the delegate supports a component monitor strategy.
Methods in org.picocontainer.behaviors with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`<T> ComponentAdapter<T>`
AbstractBehaviorFactory.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`ComponentAdapter`
AdaptingBehavior.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter adapter)`
`ComponentAdapter`
Automating.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter adapter)`
`<T> ComponentAdapter<T>`
Caching.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`ComponentAdapter`
Decorating.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter adapter)`
`ComponentAdapter`
FieldDecorating.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter adapter)`
`<T> ComponentAdapter<T>`
Guarding.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`ComponentAdapter`
ImplementationHiding.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter adapter)`
`<T> ComponentAdapter<T>`
Locking.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`<T> ComponentAdapter<T>`
OptInCaching.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`<T> ComponentAdapter<T>`
PropertyApplying.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`<T> ComponentAdapter<T>`
Storing.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`<T> ComponentAdapter<T>`
Synchronizing.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`<T> ComponentAdapter<T>`
ThreadCaching.`addComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, ComponentAdapter<T> adapter)`
`void`
AbstractBehavior.`changeMonitor(ComponentMonitor monitor)`
Delegates change of monitor if the delegate supports a component monitor strategy.
`<T> ComponentAdapter<T>`
AbstractBehaviorFactory.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
AdaptingBehavior.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`ComponentAdapter`
Automating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Caching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
Decorating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`ComponentAdapter`
FieldDecorating.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Guarding.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`ComponentAdapter`
ImplementationHiding.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Intercepting.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Locking.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`<T> ComponentAdapter<T>`
OptInCaching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
PropertyApplying.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Storing.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
Synchronizing.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a new component adapter based on the specified arguments.
`<T> ComponentAdapter<T>`
ThreadCaching.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`

## Uses of ComponentMonitor in org.picocontainer.classname

Methods in org.picocontainer.classname that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
DefaultClassLoadingPicoContainer.`currentMonitor()`
Methods in org.picocontainer.classname with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`void`
DefaultClassLoadingPicoContainer.`changeMonitor(ComponentMonitor monitor)`
Propagates the monitor change down the delegate chain if a delegate that implements ComponentMonitorStrategy exists.
Constructors in org.picocontainer.classname with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`DefaultClassLoadingPicoContainer(ClassLoader classLoader, PicoContainer parent, ComponentMonitor componentMonitor)`
``
`DefaultClassLoadingPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ClassLoader cl, ComponentMonitor componentMonitor)`

## Uses of ComponentMonitor in org.picocontainer.containers

Constructors in org.picocontainer.containers with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`TieringPicoContainer(ComponentFactory componentFactory, LifecycleStrategy lifecycleStrategy, PicoContainer parent, ComponentMonitor componentMonitor)`
``
`TieringPicoContainer(ComponentMonitor monitor)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor
``
`TieringPicoContainer(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, PicoContainer parent)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor and lifecycle strategy
``
`TieringPicoContainer(ComponentMonitor monitor, PicoContainer parent)`
Creates a new container with the AdaptingInjection using a custom ComponentMonitor

## Uses of ComponentMonitor in org.picocontainer.injectors

Methods in org.picocontainer.injectors with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`static ComponentAdapter`
Injector.`annotatedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
Convenience method to create annotated field injector
`static ComponentAdapter`
Injector.`annotatedMethod(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
convenience method to create annotated method injector
`protected T`
AbstractInjector.`caughtIllegalAccessException(ComponentMonitor componentMonitor, Constructor<T> constructor, IllegalAccessException e, PicoContainer container)`
inform monitor about access exception.
`protected Object`
AbstractInjector.`caughtIllegalAccessException(ComponentMonitor componentMonitor, Member member, Object componentInstance, IllegalAccessException e)`
`protected T`
AbstractInjector.`caughtInstantiationException(ComponentMonitor componentMonitor, Constructor<T> constructor, InstantiationException e, PicoContainer container)`
inform monitor about component instantiation failure
`protected T`
AbstractInjector.`caughtInvocationTargetException(ComponentMonitor componentMonitor, Member member, Object componentInstance, InvocationTargetException e)`
inform monitor about exception while instantiating component
`static ComponentAdapter`
Injector.`composite(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`
creates composite injector
`static ComponentAdapter`
Injector.`constructor(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Creates a ConstructorInjector
`static ComponentAdapter`
Injector.`constructor(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor)`
Creates a ConstructorInjector
`<T> ComponentAdapter<T>`
AdaptingInjection.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
AnnotatedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
AnnotatedMethodInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a `SetterInjector`.
`<T> ComponentAdapter<T>`
CompositeInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
ConstructorInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties properties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.`createComponentAdapter(ComponentMonitor componentMonitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.MethodInjectionByName.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MethodInjection.MethodInjectionByReflectionMethod.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
MultiInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
NamedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
NamedMethodInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`<T> ComponentAdapter<T>`
SetterInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
Create a `SetterInjector`.
`<T> ComponentAdapter<T>`
TypedFieldInjection.`createComponentAdapter(ComponentMonitor monitor, LifecycleStrategy lifecycleStrategy, Properties componentProperties, Object componentKey, Class<T> componentImplementation, Parameter... parameters)`
`static ComponentAdapter`
Injector.`method(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String methodName, boolean useNames)`
convenience method to create method injector
`static ComponentAdapter`
Injector.`multi(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, String setterPrefix, boolean useNames)`
convenience method to create multi component adapter
`static ComponentAdapter`
Injector.`namedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)`
convenience method to create named field injector
`static ComponentAdapter`
Injector.`setter(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String prefix, boolean useNames)`
convenience method to create setter injector
`static ComponentAdapter`
Injector.`typedField(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String classNames)`
conveniently create typed field injector
Constructors in org.picocontainer.injectors with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`AbstractFieldInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
`protected`
`AbstractInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Constructs a new ComponentAdapter for the given key and implementation.
``
`AnnotatedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
``
`AnnotatedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, Class<? extends Annotation> injectionAnnotation, boolean useNames)`
``
`ByMethodName(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, Set<String> injectionMethodNames, boolean useNames)`
``
`ByReflectionMethod(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, Method injectionMethod, boolean useNames)`
``
`CompositeInjector(Object componentKey, Class<?> componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, Injector... injectors)`
``
`ConstructorInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Creates a ConstructorInjector
``
`ConstructorInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames, boolean rememberChosenCtor)`
Creates a ConstructorInjector
``
`IterativeInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
Constructs a IterativeInjector
``
`MethodInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String methodName, boolean useNames)`
Creates a MethodInjector
``
`MultiInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor componentMonitor, String setterPrefix, boolean useNames)`
``
`NamedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String fieldNames)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, boolean optional)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, String prefix)`
``
`NamedMethodInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor monitor, String prefix, boolean optional)`
``
`Reinjector(PicoContainer parentContainer, ComponentMonitor monitor)`
Make a reinjector with a parent container from which to pull components to be reinjected to
``
`SetterInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, String prefix, String notThisOneThough, boolean optional, boolean useNames)`
Constructs a SetterInjector
``
`SingleMemberInjector(Object componentKey, Class componentImplementation, Parameter[] parameters, ComponentMonitor monitor, boolean useNames)`
``
`TypedFieldInjector(Object key, Class<?> impl, Parameter[] parameters, ComponentMonitor componentMonitor, String classNames)`

## Uses of ComponentMonitor in org.picocontainer.lifecycle

Methods in org.picocontainer.lifecycle that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
AbstractMonitoringLifecycleStrategy.`currentMonitor()`
Methods in org.picocontainer.lifecycle with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`void`
AbstractMonitoringLifecycleStrategy.`changeMonitor(ComponentMonitor monitor)`
Swaps the current monitor with a replacement.
Constructors in org.picocontainer.lifecycle with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`AbstractMonitoringLifecycleStrategy(ComponentMonitor monitor)`
Construct a AbstractMonitoringLifecycleStrategy.
``
`JavaEE5LifecycleStrategy(ComponentMonitor monitor)`
Construct a JavaEE5LifecycleStrategy.
``
`ReflectionLifecycleStrategy(ComponentMonitor monitor)`
Construct a ReflectionLifecycleStrategy.
``
`ReflectionLifecycleStrategy(ComponentMonitor monitor, String startMethodName, String stopMethodName, String disposeMethodName)`
Construct a ReflectionLifecycleStrategy with individual method names.
``
`StartableLifecycleStrategy(ComponentMonitor monitor)`

## Uses of ComponentMonitor in org.picocontainer.monitors

Classes in org.picocontainer.monitors that implement ComponentMonitor
Modifier and Type
Class
Description
`class`
`AbstractComponentMonitor`
A `monitor` which delegates to another monitor.
`class`
`ComposingMonitor`
The first of a list of composers passed in that responds with an instance for a missing component will be used.
`class`
`ConsoleComponentMonitor`
A `ComponentMonitor` which writes to a `OutputStream`.
`final class`
`LifecycleComponentMonitor`
A `ComponentMonitor` which collects lifecycle failures and rethrows them on demand after the failures.
`class`
`NullComponentMonitor`
A `ComponentMonitor` which does nothing.
`class`
`WriterComponentMonitor`
A `ComponentMonitor` which writes to a `Writer`.
Methods in org.picocontainer.monitors that return ComponentMonitor
Modifier and Type
Method
Description
`ComponentMonitor`
AbstractComponentMonitor.`currentMonitor()`
Methods in org.picocontainer.monitors with parameters of type ComponentMonitor
Modifier and Type
Method
Description
`void`
AbstractComponentMonitor.`changeMonitor(ComponentMonitor monitor)`
If the delegate supports a `monitor strategy`, this is used to changed the monitor while keeping the same delegate.
Constructors in org.picocontainer.monitors with parameters of type ComponentMonitor
Modifier
Constructor
Description
``
`AbstractComponentMonitor(ComponentMonitor delegate)`
Creates a AbstractComponentMonitor with a given delegate
``
`ComposingMonitor(ComponentMonitor delegate, ComposingMonitor.Composer... composers)`
``
`ConsoleComponentMonitor(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.
``
`LifecycleComponentMonitor(ComponentMonitor delegate)`
``
`WriterComponentMonitor(Writer out, ComponentMonitor delegate)`