Package org.picocontainer.lifecycle

# Class AbstractMonitoringLifecycleStrategy

java.lang.Object
org.picocontainer.lifecycle.AbstractMonitoringLifecycleStrategy

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

Direct Known Subclasses:
  `JavaEE5LifecycleStrategy`, `ReflectionLifecycleStrategy`, `StartableLifecycleStrategy`

public abstract class AbstractMonitoringLifecycleStrategy extends Object implements LifecycleStrategy, ComponentMonitorStrategy, Serializable
Abstract base class for lifecycle strategy implementation supporting a `ComponentMonitor`.

Author:
  Jörg Schaible
See Also:
  - Serialized Form

## Constructor Summary

Constructors
Constructor
Description
`AbstractMonitoringLifecycleStrategy(ComponentMonitor monitor)`
Construct a AbstractMonitoringLifecycleStrategy.

## Method Summary

Modifier and Type
Method
Description
`void`
`changeMonitor(ComponentMonitor monitor)`
Swaps the current monitor with a replacement.
`ComponentMonitor`
`currentMonitor()`
Returns the monitor currently used
`boolean`
`isLazy(ComponentAdapter<?> adapter)`
Is a component eager (not lazy) in that it should start when start() or equivalent is called, or lazy (it will only start on first getComponent() ).

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

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

### Methods inherited from interface org.picocontainer.LifecycleStrategy

`dispose, hasLifecycle, start, stop`

## Constructor Details

### AbstractMonitoringLifecycleStrategy

public AbstractMonitoringLifecycleStrategy(ComponentMonitor monitor)
Construct a AbstractMonitoringLifecycleStrategy.

Parameters:
  `monitor` - the componentMonitor to use
Throws:
  `NullPointerException` - if the monitor is `null`

## Method Details

### changeMonitor

public void changeMonitor(ComponentMonitor monitor)
Swaps the current monitor with a replacement.

Specified by:
  `changeMonitor` in interface `ComponentMonitorStrategy`
Parameters:
  `monitor` - The new monitor.
Throws:
  `NullPointerException` - if the passed in monitor is null.

### currentMonitor

public ComponentMonitor currentMonitor()
Description copied from interface: `ComponentMonitorStrategy`
Returns the monitor currently used

Specified by:
  `currentMonitor` in interface `ComponentMonitorStrategy`
Returns:
  The ComponentMonitor currently used

### isLazy

public boolean isLazy(ComponentAdapter<?> adapter)
Description copied from interface: `LifecycleStrategy`
Is a component eager (not lazy) in that it should start when start() or equivalent is called, or lazy (it will only start on first getComponent() ). The default is the first of those two.

Specified by:
  `isLazy` in interface `LifecycleStrategy`
Parameters:
  `adapter` -
Returns:
  true if lazy, false if not lazy