Class ObservableLifeCycleStatusAutomatonImpl

  • All Implemented Interfaces:
    org.refcodes.component.Destroyable, org.refcodes.component.Destroyable.DestroyAutomaton, ObservableLifeCycleStatusAutomaton, 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.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, org.refcodes.mixin.Loggable, org.refcodes.observer.Observable<LifeCycleStatusObserver>

    public class ObservableLifeCycleStatusAutomatonImpl
    extends org.refcodes.component.LifeCycleAutomatonImpl
    implements ObservableLifeCycleStatusAutomaton, org.refcodes.mixin.Loggable
    Abstract implementation of the ObservableLifeCycleStatusAutomaton interface with the according hook methods for you to create your domain driven ObservableLifeCycleStatusAutomaton.
    • 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 class org.refcodes.component.LifeCycleAutomatonImpl

        org.refcodes.component.LifeCycleAutomatonImpl.ManualLifeCycleAutomatonImpl
      • 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
    • Field Summary

      • Fields inherited from interface org.refcodes.mixin.Loggable

        RUNTIME_LOGGER_CLASS, RUNTIME_LOGGER_FACTORY_CLASS, RUNTIME_LOGGER_FACTORY_METHOD
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void destroy()
      boolean hasObserverSubscription​(LifeCycleStatusObserver aObserver)
      void initialize()
      void pause()
      void resume()
      void start()
      void stop()
      boolean subscribeObserver​(LifeCycleStatusObserver aObserver)
      boolean unsubscribeObserver​(LifeCycleStatusObserver aObserver)
      • Methods inherited from interface org.refcodes.component.Destroyable.DestroyAutomaton

        isDestroyable, isDestroyed
      • Methods inherited from interface org.refcodes.component.Initializable

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

        isInitalizable
      • Methods inherited from interface org.refcodes.component.InitializedAccessor

        isInitialized
      • Methods inherited from class org.refcodes.component.LifeCycleAutomatonImpl

        getLifeCycleComponent, getLifeCycleStatus, isDestroyable, isDestroyed, isInitalizable, isInitialized, isPausable, isPaused, isResumable, isRunning, isStartable, isStoppable, isStopped, setLifeCycleStatus
      • Methods inherited from interface org.refcodes.component.LifeCycleStatusAccessor

        getLifeCycleStatus
      • Methods inherited from interface org.refcodes.mixin.Loggable

        alert, alert, critical, critical, debug, error, info, notice, panic, trace, warn, warn
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
      • Methods inherited from interface org.refcodes.component.Pausable

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

        isPausable, isPaused
      • Methods inherited from interface org.refcodes.component.Resumable

        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

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

        isStartable
      • Methods inherited from interface org.refcodes.component.Stoppable

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

        isStoppable, isStopped
    • Constructor Detail

      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl()
        Instantiates a new observable life cycle automaton impl.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(java.lang.Object aSource)
        Parameters:
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.observer.EventMetaData aEventMetaData)
        Parameters:
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.lang.Object aSource)
        Parameters:
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      java.lang.Object aSource)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      org.refcodes.observer.EventMetaData aEventMetaData)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.lang.Object aSource)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(java.lang.Object aSource,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.lang.Object aSource,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      java.lang.Object aSource,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
      • ObservableLifeCycleStatusAutomatonImpl

        public ObservableLifeCycleStatusAutomatonImpl​(org.refcodes.component.LifeCycleComponent aLifeCycleComponent,
                                                      org.refcodes.observer.EventMetaData aEventMetaData,
                                                      java.lang.Object aSource,
                                                      java.util.concurrent.ExecutorService aExecutorService,
                                                      org.refcodes.controlflow.ExecutionStrategy aExecutionStrategy)
        Parameters:
        aLifeCycleComponent - The LifeCycleComponent to which the life-cycle method calls are to be delegated to.
        aEventMetaData - The EventMetaData to be used when firing events in case the EventMetaData is to be different from the auto-generated EventMetaData.
        aSource - The source instance to be used when firing events in case the source is to be different from this class' instance.
        aExecutorService - The executor service to be used when firing GenericActionEvent instances in multiple threads (if null then a default one is used).
        aExecutionStrategy - The ExecutionStrategy to be used when firing GenericActionEvent instance (if null then the default ExecutionStrategy.SEQUENTIAL is used).
    • Method Detail

      • initialize

        public void initialize()
                        throws org.refcodes.component.InitializeException
        Specified by:
        initialize in interface org.refcodes.component.Initializable
        Overrides:
        initialize in class org.refcodes.component.LifeCycleAutomatonImpl
        Throws:
        org.refcodes.component.InitializeException
      • start

        public void start()
                   throws org.refcodes.component.StartException
        Specified by:
        start in interface org.refcodes.component.Startable
        Overrides:
        start in class org.refcodes.component.LifeCycleAutomatonImpl
        Throws:
        org.refcodes.component.StartException
      • pause

        public void pause()
                   throws org.refcodes.component.PauseException
        Specified by:
        pause in interface org.refcodes.component.Pausable
        Overrides:
        pause in class org.refcodes.component.LifeCycleAutomatonImpl
        Throws:
        org.refcodes.component.PauseException
      • resume

        public void resume()
                    throws org.refcodes.component.ResumeException
        Specified by:
        resume in interface org.refcodes.component.Resumable
        Overrides:
        resume in class org.refcodes.component.LifeCycleAutomatonImpl
        Throws:
        org.refcodes.component.ResumeException
      • stop

        public void stop()
                  throws org.refcodes.component.StopException
        Specified by:
        stop in interface org.refcodes.component.Stoppable
        Overrides:
        stop in class org.refcodes.component.LifeCycleAutomatonImpl
        Throws:
        org.refcodes.component.StopException
      • destroy

        public void destroy()
        Specified by:
        destroy in interface org.refcodes.component.Destroyable
        Overrides:
        destroy in class org.refcodes.component.LifeCycleAutomatonImpl