org.eclipse.jetty.util.component

## Class AbstractLifeCycle

- java.lang.Object
- - org.eclipse.jetty.util.component.AbstractLifeCycle

All Implemented Interfaces:
  LifeCycle

Direct Known Subclasses:
  AbstractLeakPreventer, AbstractSessionIdManager, AbstractSessionManager, AggregateLifeCycle, ConnectorServer, ContextDeployer, ExecutorThreadPool, Holder, HttpBuffersImpl, JAASLoginService, MappedLoginService, MBeanContainer, NCSARequestLog, PropertyUserStore, QueuedThreadPool, Scanner, ScanningAppProvider, SelectorManager, SpnegoLoginService, SslContextFactory, WebAppDeployer, WebSocketFactory

    public abstract class AbstractLifeCycle
    extends Object
    implements LifeCycle

Basic implementation of the life cycle interface for components.

### Nested Class Summary

Nested Classes
`static class` `AbstractLifeCycle.AbstractLifeCycleListener`

### Nested classes/interfaces inherited from interface org.eclipse.jetty.util.component.LifeCycle

`LifeCycle.Listener`

### Field Summary

Fields
`protected CopyOnWriteArrayList<LifeCycle.Listener>` `_listeners`
`static String` `FAILED`
`static String` `RUNNING`
`static String` `STARTED`
`static String` `STARTING`
`static String` `STOPPED`
`static String` `STOPPING`

### Constructor Summary

Constructors
Constructor and Description
`AbstractLifeCycle()`

### Method Summary

Methods
`void` `addLifeCycleListener(LifeCycle.Listener listener)`
`protected void` `doStart()`
`protected void` `doStop()`
`String` `getState()`
`static String` `getState(LifeCycle lc)`
`boolean` `isFailed()`
`boolean` `isRunning()`
`boolean` `isStarted()`
`boolean` `isStarting()`
`boolean` `isStopped()`
`boolean` `isStopping()`
`void` `removeLifeCycleListener(LifeCycle.Listener listener)`
`void` `start()` Starts the component.
`void` `stop()` Stops the component.

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

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

### Field Detail

#### STOPPED

    public static final String STOPPED

See Also:
  Constant Field Values

#### FAILED

    public static final String FAILED

See Also:
  Constant Field Values

#### STARTING

    public static final String STARTING

See Also:
  Constant Field Values

#### STARTED

    public static final String STARTED

See Also:
  Constant Field Values

#### STOPPING

    public static final String STOPPING

See Also:
  Constant Field Values

#### RUNNING

    public static final String RUNNING

See Also:
  Constant Field Values

#### _listeners

    protected final CopyOnWriteArrayList<LifeCycle.Listener> _listeners

### Constructor Detail

#### AbstractLifeCycle

    public AbstractLifeCycle()

### Method Detail

#### doStart

    protected void doStart()
                    throws Exception

Throws:
  `Exception`

#### doStop

    protected void doStop()
                   throws Exception

Throws:
  `Exception`

#### start

    public final void start()
                     throws Exception

Description copied from interface: `LifeCycle`
Starts the component.

Specified by:
  `start` in interface `LifeCycle`
Throws:
  `Exception` - If the component fails to start
See Also:
  `LifeCycle.isStarted()`, `LifeCycle.stop()`, `LifeCycle.isFailed()`

#### stop

    public final void stop()
                    throws Exception

Description copied from interface: `LifeCycle`
Stops the component. The component may wait for current activities to complete normally, but it can be interrupted.

Specified by:
  `stop` in interface `LifeCycle`
Throws:
  `Exception` - If the component fails to stop
See Also:
  `LifeCycle.isStopped()`, `LifeCycle.start()`, `LifeCycle.isFailed()`

#### isRunning

    public boolean isRunning()

Specified by:
  `isRunning` in interface `LifeCycle`
Returns:
  true if the component is starting or has been started.

#### isStarted

    public boolean isStarted()

Specified by:
  `isStarted` in interface `LifeCycle`
Returns:
  true if the component has been started.
See Also:
  `LifeCycle.start()`, `LifeCycle.isStarting()`

#### isStarting

    public boolean isStarting()

Specified by:
  `isStarting` in interface `LifeCycle`
Returns:
  true if the component is starting.
See Also:
  `LifeCycle.isStarted()`

#### isStopping

    public boolean isStopping()

Specified by:
  `isStopping` in interface `LifeCycle`
Returns:
  true if the component is stopping.
See Also:
  `LifeCycle.isStopped()`

#### isStopped

    public boolean isStopped()

Specified by:
  `isStopped` in interface `LifeCycle`
Returns:
  true if the component has been stopped.
See Also:
  `LifeCycle.stop()`, `LifeCycle.isStopping()`

#### isFailed

    public boolean isFailed()

Specified by:
  `isFailed` in interface `LifeCycle`
Returns:
  true if the component has failed to start or has failed to stop.

#### addLifeCycleListener

    public void addLifeCycleListener(LifeCycle.Listener listener)

Specified by:
  `addLifeCycleListener` in interface `LifeCycle`

#### removeLifeCycleListener

    public void removeLifeCycleListener(LifeCycle.Listener listener)

Specified by:
  `removeLifeCycleListener` in interface `LifeCycle`

#### getState

    public String getState()

#### getState

    public static String getState(LifeCycle lc)