Interface ConfigurableLifecycleComponent<CTX>
- Type Parameters:
CTX- the context used to initialize the implementing instance.
- All Superinterfaces:
Configurable<CTX>, Destroyable, Pausable, Resumable, Startable, Stoppable
- All Known Subinterfaces:
ComponentComposite.ExtendedComponentComposite<CTX,CON>, ConfigurableLifecycleComponent.ConfigurableLifecycleAutomaton<CTX>
- All Known Implementing Classes:
AbstractComponentComposite.ExtendedCompositeComponentImpl, ConfigurableLifecycleAutomatonImpl
public interface ConfigurableLifecycleComponent<CTX>
extends Configurable<CTX>, Startable, Pausable, Resumable, Stoppable, Destroyable
A component implementing the
ConfigurableLifecycleComponent interface
supports a life-cycle. I.e. such a component may be instructed from the
outside to run through several stages from getting started till being
destroyed. The valid state changes are mainly as follows: "initialize" -
"start" - "pause" - "resume" - "stop" - "destroy" For example: "initialize" -
"start" - "pause" - "resume" - "pause" - "resume" - "stop" - "start" -
"pause" - "resume" - "stop" - "destroy" The LifecycleComponentHandle.LifecycleAutomatonHandle
is a component managing various ConfigurableLifecycleComponents each
identified by a dedicated handle. Operations on the
ConfigurableLifecycleComponent are invoked by this
LifecycleComponentHandle.LifecycleAutomatonHandle with a handle identifying the according
ConfigurableLifecycleComponent. The
ConfigurableLifecycleComponent contains the business-logic where as
the LifecycleComponentHandle.LifecycleAutomatonHandle provides the frame for managing this
business-logic. The LifecycleComponent.LifecycleAutomaton takes care of the correct
life-cycle applied on a ConfigurableLifecycleComponent.-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA system implementing theConfigurableLifecycleComponent.ConfigurableLifecycleAutomatoninterface supports managingConfigurableLifecycleComponentinstances and takes care that the open/close statuses are invoked in the correct order by throwing according exceptions in case the open/close-cycle is invoked in the wrong order.Nested classes/interfaces inherited from interface Configurable
Configurable.ConfigureAutomaton<CTX>, Configurable.ConfigureBuilder<CTX,B> Nested classes/interfaces inherited from interface Destroyable
Destroyable.DestroyAutomatonNested classes/interfaces inherited from interface Pausable
Pausable.PauseAutomaton, Pausable.PauseBuilder<B>, Pausable.UncheckedPausableNested classes/interfaces inherited from interface Resumable
Resumable.ResumeAutomaton, Resumable.ResumeBuilder<B>, Resumable.UncheckedResumableNested classes/interfaces inherited from interface Startable
Startable.StartAutomaton, Startable.StartBuilder<B>, Startable.UncheckedStartableNested classes/interfaces inherited from interface Stoppable
Stoppable.StopAutomaton, Stoppable.StopBuilder<B>, Stoppable.UncheckedStoppable -
Method Summary
Methods inherited from interface Configurable
initializeMethods inherited from interface Destroyable
destroy