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, Lifecycle, LifecycleHook, ManagedContainer, Negotiator, PriorityQueueRunner, QueueRunner, QueueRunner2, QueueWorker, QueueWorkerWorkSerializer, Randomizer, ReferenceMonitor, ReferenceQueueWorker, Registry, ResponseNegotiator, RollingLog, RWLockManager, RWOLockManager, 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
  Apiviz
  Apiviz
  Apiviz
    `LifecycleState`
  Apiviz
    `ILifecycleEvent` - - fires

- - ### Nested Class Summary

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

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method and 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

Copyright (c) 2014 Eike Stepper (Berlin, Germany) and others.
All rights reserved. This program and the accompanying materials are made available under the terms of the Eclipse Public License v1.0 which accompanies this distribution, and is available at http://www.eclipse.org/legal/epl-v10.html