Interface ObservableLifecycleStatusAutomaton

All Superinterfaces:
org.refcodes.component.Destroyable, org.refcodes.component.Destroyable.DestroyAutomaton, org.refcodes.component.Initializable, org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.InitializedAccessor, org.refcodes.component.LifecycleComponent, org.refcodes.component.LifecycleComponent.LifecycleAutomaton, org.refcodes.component.LifecycleStatusAccessor, org.refcodes.observer.Observable<LifecycleStatusObserver>, org.refcodes.component.Pausable, org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Resumable, org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.RunningAccessor, org.refcodes.component.Startable, org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Stoppable, org.refcodes.component.Stoppable.StopAutomaton
All Known Implementing Classes:
ObservableLifecycleStatusAutomatonImpl

public interface ObservableLifecycleStatusAutomaton extends org.refcodes.component.LifecycleComponent.LifecycleAutomaton, org.refcodes.observer.Observable<LifecycleStatusObserver>
A system implementing this interface supports a component 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:

"start" - "pause" - "resume" - "stop" - "destroy"

For example:

"start" - "pause" - "resume" - "pause" - "resume" - "stop" - "start" - "pause" - "resume" - "stop" - "destroy"

  • Nested Class Summary

    Nested classes/interfaces inherited from interface org.refcodes.component.Destroyable

    org.refcodes.component.Destroyable.DestroyAutomaton

    Nested classes/interfaces inherited from interface org.refcodes.component.Initializable

    org.refcodes.component.Initializable.InitializeAutomaton, org.refcodes.component.Initializable.InitializeBuilder<B extends org.refcodes.component.Initializable.InitializeBuilder<B>>, org.refcodes.component.Initializable.UncheckedInitializable

    Nested classes/interfaces inherited from interface org.refcodes.component.InitializedAccessor

    org.refcodes.component.InitializedAccessor.InitializedMutator, org.refcodes.component.InitializedAccessor.InitializedProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.LifecycleComponent

    org.refcodes.component.LifecycleComponent.LifecycleAutomaton, org.refcodes.component.LifecycleComponent.UncheckedLifecycleComponent

    Nested classes/interfaces inherited from interface org.refcodes.component.LifecycleStatusAccessor

    org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusBuilder<B extends org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusBuilder<B>>, org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusMutator, org.refcodes.component.LifecycleStatusAccessor.LifecycleStatusProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.Pausable

    org.refcodes.component.Pausable.PauseAutomaton, org.refcodes.component.Pausable.PauseBuilder<B extends org.refcodes.component.Pausable.PauseBuilder<B>>, org.refcodes.component.Pausable.UncheckedPausable

    Nested classes/interfaces inherited from interface org.refcodes.component.Resumable

    org.refcodes.component.Resumable.ResumeAutomaton, org.refcodes.component.Resumable.ResumeBuilder<B extends org.refcodes.component.Resumable.ResumeBuilder<B>>, org.refcodes.component.Resumable.UncheckedResumable

    Nested classes/interfaces inherited from interface org.refcodes.component.RunningAccessor

    org.refcodes.component.RunningAccessor.RunningMutator, org.refcodes.component.RunningAccessor.RunningProperty

    Nested classes/interfaces inherited from interface org.refcodes.component.Startable

    org.refcodes.component.Startable.StartAutomaton, org.refcodes.component.Startable.StartBuilder<B extends org.refcodes.component.Startable.StartBuilder<B>>, org.refcodes.component.Startable.UncheckedStartable

    Nested classes/interfaces inherited from interface org.refcodes.component.Stoppable

    org.refcodes.component.Stoppable.StopAutomaton, org.refcodes.component.Stoppable.StopBuilder<B extends org.refcodes.component.Stoppable.StopBuilder<B>>, org.refcodes.component.Stoppable.UncheckedStoppable
  • Method Summary

    Methods inherited from interface org.refcodes.component.Destroyable

    destroy

    Methods inherited from interface org.refcodes.component.Destroyable.DestroyAutomaton

    isDestroyable, isDestroyed

    Methods inherited from interface org.refcodes.component.Initializable

    initialize, initializeUnchecked

    Methods inherited from interface org.refcodes.component.Initializable.InitializeAutomaton

    isInitalizable

    Methods inherited from interface org.refcodes.component.InitializedAccessor

    isInitialized

    Methods inherited from interface org.refcodes.component.LifecycleStatusAccessor

    getLifecycleStatus

    Methods inherited from interface org.refcodes.observer.Observable

    hasObserverSubscription, subscribeObserver, unsubscribeObserver

    Methods inherited from interface org.refcodes.component.Pausable

    pause, pauseUnchecked

    Methods inherited from interface org.refcodes.component.Pausable.PauseAutomaton

    isPausable, isPaused

    Methods inherited from interface org.refcodes.component.Resumable

    resume, resumeUnchecked

    Methods inherited from interface org.refcodes.component.Resumable.ResumeAutomaton

    isResumable

    Methods inherited from interface org.refcodes.component.RunningAccessor

    isRunning

    Methods inherited from interface org.refcodes.component.Startable

    start, startUnchecked

    Methods inherited from interface org.refcodes.component.Startable.StartAutomaton

    isStartable

    Methods inherited from interface org.refcodes.component.Stoppable

    stop, stopUnchecked

    Methods inherited from interface org.refcodes.component.Stoppable.StopAutomaton

    isStoppable, isStopped