# Package org.eclipse.net4j.util.lifecycle

package org.eclipse.net4j.util.lifecycle
A framework for components with a simple lifecycle. Interfaces that describe the behavior of objects with respect to their lifecycle. A utility class to interact with such objects and an abstract class that can be used to implement such objects are provided as well.

Related Packages
Package
Description
org.eclipse.net4j.util
Utility classes.
Class
Description
IDeactivateable
ILifecycle
An entity that has a well-defined `lifecycle` and can be `activated` or `deactivated`.
ILifecycle.DeferrableActivation
A mix-in interface for `lifecycles` with deferrable activation.
ILifecycleEvent
An `event` fired from an entity with a `lifecycle` when its lifecycle `state` has changed.
ILifecycleEvent.Kind
Enumerates the possible `lifecycle state` changes of an entity.
Lifecycle
A default implementation of an entity with a `lifecycle`.
LifecycleEvent
A default implementation of a lifecycle `event`.
LifecycleEventAdapter
A `listener` that dispatches lifecycle `events` to methods that can be overridden by extenders.
LifecycleException
An unchecked wrapper exception for checked exceptions being thrown from `Lifecycle.doActivate()`.
LifecycleHook<T extends ILifecycle>
LifecycleState
Enumerates the possible lifecycle states of an entity with a `lifecycle`.
LifecycleUtil
Various static helper methods for dealing with `lifecycles`.
LifecycleUtil.Activator
Annotates a method of a POJO class that's supposed to be called to activate a POJO object during `LifecycleUtil.activate(Object)`.
LifecycleUtil.Deactivator
Annotates a method of a POJO class that's supposed to be called to deactivate a POJO object during `LifecycleUtil.deactivate(Object)`.
LifecycleUtil.Delegator<T>
The `invocation handler` of the `dynamic proxy` created in `LifecycleUtil.delegateLifecycle()`.
ShareableLifecycle
A `lifecycle` entity with a reference count that can be `activated` multiple times.