Package org.eclipse.net4j.util.lifecycle

## Interface ILifecycle

- All Superinterfaces:
    `IDeactivateable`, `INotifier`
  All Known Subinterfaces:
    `IManagedContainer`, `IPluginContainer`
  All Known Implementing Classes:
    `Cache`, `CacheMonitor`, `ChallengeNegotiator`, `ChallengeResponseNegotiator`, `Container`, `DelegableReentrantLock`, `DelegatingRegistry`, `ExecutorWorkSerializer`, `FileUserManager`, `FiniteStateMachine`, `HashMapDelegatingRegistry`, `HashMapRegistry`, `HashMapRegistry.AutoCommit`, `Lifecycle`, `LifecycleHook`, `ManagedContainer`, `Negotiator`, `PriorityQueueRunner`, `QueueRunner`, `QueueRunner2`, `QueueWorker`, `QueueWorkerWorkSerializer`, `Randomizer`, `ReferenceMonitor`, `ReferenceQueueWorker`, `Registry`, `ResponseNegotiator`, `RollingLog`, `RWLockManager`, `RWOLockManager`, `SerializingExecutor`, `SetContainer`, `ShareableLifecycle`, `TimerLifecycle`, `UIQueueRunner`, `UserManager`, `UserManagerAuthenticator`, `Worker`

      public interface ILifecycle
      extends IDeactivateable, INotifier

  An entity that has a well-defined `lifecycle` and can be `activated` or `deactivated`.

  A lifecycle can fire the following events:

  - `ILifecycleEvent` before and after the `state` of this lifecycle changes.
  Author:
    Eike Stepper

- - ### Nested Class Summary

    Nested Classes
    Modifier and Type | Interface | Description
    --- | --- | ---
    `static interface` | `ILifecycle.DeferrableActivation` | A mix-in interface for `lifecycles` with deferrable activation.

    - ### Nested classes/interfaces inherited from interface org.eclipse.net4j.util.event.INotifier

      `INotifier.INotifier2`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `activate()` |
    `java.lang.Exception` | `deactivate()` |
    `LifecycleState` | `getLifecycleState()` |
    `boolean` | `isActive()` |

    - ### Methods inherited from interface org.eclipse.net4j.util.event.INotifier

      `addListener, getListeners, hasListeners, removeListener`

- - ### Method Detail

    - #### activate

          void activate()
                 throws LifecycleException

      Throws:
        `LifecycleException`

    - #### deactivate

          java.lang.Exception deactivate()

      Specified by:
        `deactivate` in interface `IDeactivateable`

    - #### getLifecycleState

          LifecycleState getLifecycleState()

      Since:
        3.0

    - #### isActive

          boolean isActive()

      Since:
        3.0