Package org.picocontainer.monitors

# Class ComposingMonitor

java.lang.Object
org.picocontainer.monitors.AbstractComponentMonitor
org.picocontainer.monitors.ComposingMonitor

All Implemented Interfaces:
  `Serializable`, `ComponentMonitor`, `ComponentMonitorStrategy`

public class ComposingMonitor extends AbstractComponentMonitor
The first of a list of composers passed in that responds with an instance for a missing component will be used.

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static interface`
`ComposingMonitor.Composer`
A Composer can be used to make components that are otherwise missing.

## Field Summary

### Fields inherited from interface org.picocontainer.ComponentMonitor

`KEEP`

## Constructor Summary

Constructors
Constructor
Description
`ComposingMonitor(ComponentMonitor delegate, ComposingMonitor.Composer... composers)`
`ComposingMonitor(ComposingMonitor.Composer... composers)`

## Method Summary

Modifier and Type
Method
Description
`Object`
`noComponentFound(MutablePicoContainer container, Object componentKey)`
No Component has been found for the key in question.

### Methods inherited from class org.picocontainer.monitors.AbstractComponentMonitor

`changeMonitor, currentMonitor, instantiated, instantiating, instantiationFailed, invocationFailed, invoked, invoking, lifecycleInvocationFailed, newBehavior, newInjector`

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Constructor Details

### ComposingMonitor

public ComposingMonitor(ComponentMonitor delegate, ComposingMonitor.Composer... composers)

### ComposingMonitor

public ComposingMonitor(ComposingMonitor.Composer... composers)

## Method Details

### noComponentFound

public Object noComponentFound(MutablePicoContainer container, 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(<key>) in your user code.

Specified by:
  `noComponentFound` in interface `ComponentMonitor`
Overrides:
  `noComponentFound` in class `AbstractComponentMonitor`
Parameters:
  `container` -
  `componentKey` -