- All Superinterfaces:
Destroyable,Initializable,Pausable,Resumable,Startable,Stoppable
- All Known Subinterfaces:
ComponentComposite,ComponentComposite.ExtendedComponentComposite<CTX,,CON> LifecycleComponent.LifecycleAutomaton,LifecycleComponent.UncheckedLifecycleComponent
- All Known Implementing Classes:
AbstractComponentComposite,AbstractComponentComposite.ExtendedCompositeComponentImpl,LifecycleMachine,LifecycleMachine.ManualLifecycleMachine
public interface LifecycleComponent
extends Initializable, Startable, Pausable, Resumable, Stoppable, Destroyable
A component implementing the
LifecycleComponent 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 LifecycleComponents each identified by a dedicated
handle. Operations on the LifecycleComponent are invoked by this
LifecycleComponentHandle.LifecycleAutomatonHandle with a handle identifying the according
LifecycleComponent.
The LifecycleComponent 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 LifecycleComponent.
-
Nested Class Summary
Nested ClassesModifier and TypeInterfaceDescriptionstatic interfaceA system implementing theLifecycleComponent.LifecycleAutomatoninterface supports managingLifecycleComponentinstances and takes care that the life-cycle stages are invoked in the correct order by throwing according exceptions in case the life-cycle is invoked in the wrong order.static interfaceSame as theLifecycleComponentthough without the need to try-catch any exceptions on the various life-cycle stages.Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable
Destroyable.DestroyAutomatonNested classes/interfaces inherited from interface org.refcodes.component.Initializable
Initializable.InitializeAutomaton, Initializable.InitializeBuilder<B extends Initializable.InitializeBuilder<B>>, Initializable.UncheckedInitializableNested classes/interfaces inherited from interface org.refcodes.component.Pausable
Pausable.PauseAutomaton, Pausable.PauseBuilder<B extends Pausable.PauseBuilder<B>>, Pausable.UncheckedPausableNested classes/interfaces inherited from interface org.refcodes.component.Resumable
Resumable.ResumeAutomaton, Resumable.ResumeBuilder<B extends Resumable.ResumeBuilder<B>>, Resumable.UncheckedResumableNested classes/interfaces inherited from interface org.refcodes.component.Startable
Startable.StartAutomaton, Startable.StartBuilder<B extends Startable.StartBuilder<B>>, Startable.UncheckedStartableNested classes/interfaces inherited from interface org.refcodes.component.Stoppable
Stoppable.StopAutomaton, Stoppable.StopBuilder<B extends Stoppable.StopBuilder<B>>, Stoppable.UncheckedStoppable -
Method Summary
Methods inherited from interface org.refcodes.component.Destroyable
destroyMethods inherited from interface org.refcodes.component.Initializable
initialize, initializeUncheckedMethods inherited from interface org.refcodes.component.Pausable
pause, pauseUncheckedMethods inherited from interface org.refcodes.component.Resumable
resume, resumeUncheckedMethods inherited from interface org.refcodes.component.Startable
start, startUncheckedMethods inherited from interface org.refcodes.component.Stoppable
stop, stopUnchecked