org.apache.catalina.util

## Class LifecycleSupport

- java.lang.Object
- - org.apache.catalina.util.LifecycleSupport

    public final class LifecycleSupport
    extends Object

Support class to assist in firing LifecycleEvent notifications to registered LifecycleListeners.

Author:
  Craig R. McClanahan

### Constructor Summary

Constructors
Constructor and Description
`LifecycleSupport(Lifecycle lifecycle)` Construct a new LifecycleSupport object associated with the specified Lifecycle component.

### Method Summary

Methods
`void` `addLifecycleListener(LifecycleListener listener)` Add a lifecycle event listener to this component.
`LifecycleListener[]` `findLifecycleListeners()` Get the lifecycle listeners associated with this lifecycle.
`void` `fireLifecycleEvent(String type, Object data)` Notify all lifecycle event listeners that a particular event has occurred for this Container.
`void` `removeLifecycleListener(LifecycleListener listener)` Remove a lifecycle event listener from this component.

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

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

### Constructor Detail

#### LifecycleSupport

    public LifecycleSupport(Lifecycle lifecycle)

Construct a new LifecycleSupport object associated with the specified Lifecycle component.

Parameters:
  `lifecycle` - The Lifecycle component that will be the source of events that we fire

### Method Detail

#### addLifecycleListener

    public void addLifecycleListener(LifecycleListener listener)

Add a lifecycle event listener to this component.

Parameters:
  `listener` - The listener to add

#### findLifecycleListeners

    public LifecycleListener[] findLifecycleListeners()

Get the lifecycle listeners associated with this lifecycle. If this Lifecycle has no listeners registered, a zero-length array is returned.

#### fireLifecycleEvent

    public void fireLifecycleEvent(String type,
                          Object data)

Notify all lifecycle event listeners that a particular event has occurred for this Container. The default implementation performs this notification synchronously using the calling thread.

Parameters:
  `type` - Event type
  `data` - Event data

#### removeLifecycleListener

    public void removeLifecycleListener(LifecycleListener listener)

Remove a lifecycle event listener from this component.

Parameters:
  `listener` - The listener to remove