Package org.picocontainer.lifecycle

# Class JavaEE5LifecycleStrategy

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

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

public final class JavaEE5LifecycleStrategy extends AbstractMonitoringLifecycleStrategy
Java EE 5 has some annotations PreDestroy and PostConstruct that map to start() and dispose() in our world

Author:
  Paul Hammant
See Also:
  - Serialized Form

## Constructor Summary

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

## Method Summary

Modifier and Type
Method
Description
`void`
`dispose(Object component)`
Invoke the "dispose" method on the component instance if this is disposable.
`boolean`
`hasLifecycle(Class<?> type)`
Test if a component instance has a lifecycle.
`void`
`start(Object component)`
Invoke the "start" method on the component instance if this is startable.
`void`
`stop(Object component)`
Invoke the "stop" method on the component instance if this is stoppable.

### Methods inherited from class org.picocontainer.lifecycle.AbstractMonitoringLifecycleStrategy

`changeMonitor, currentMonitor, isLazy`

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

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

## Constructor Details

### JavaEE5LifecycleStrategy

public JavaEE5LifecycleStrategy(ComponentMonitor monitor)
Construct a JavaEE5LifecycleStrategy.

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

## Method Details

### start

public void start(Object component)
Invoke the "start" method on the component instance if this is startable. It is up to the implementation of the strategy what "start" and "startable" means.

Parameters:
  `component` - the instance of the component to start

### stop

public void stop(Object component)
Invoke the "stop" method on the component instance if this is stoppable. It is up to the implementation of the strategy what "stop" and "stoppable" means.

Parameters:
  `component` - the instance of the component to stop

### dispose

public void dispose(Object component)
Invoke the "dispose" method on the component instance if this is disposable. It is up to the implementation of the strategy what "dispose" and "disposable" means.

Parameters:
  `component` - the instance of the component to dispose

### hasLifecycle

public boolean hasLifecycle(Class<?> type)
Test if a component instance has a lifecycle. The component has a lifecycle PreDestroy or PostConstruct are on a method

Parameters:
  `type` - the component's type
Returns:
  `true` if the component has a lifecycle