Class OngoingMissionRun

  • Direct Known Subclasses:
    OngoingReturningMissionRun

    public class OngoingMissionRun
    extends java.lang.Object
    Provides capabilities to control an ongoing mission run
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      class  OngoingMissionRun.ReturnHelper<T>
      A helper class to filter MissionState based on Predicate of RunState provided
    • Constructor Summary

      Constructors 
      Constructor Description
      OngoingMissionRun​(Mole mole, reactor.core.publisher.Mono<io.molr.commons.domain.MissionHandle> handle)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      OngoingMissionRun and()
      Gives meaning to method chaining when chaining two unrelated methods
      reactor.core.publisher.Mono<io.molr.commons.domain.MissionHandle> asyncHandle()  
      void await​(java.util.function.Predicate<io.molr.commons.domain.RunState> runStateValidator)  
      void await​(java.util.function.Predicate<io.molr.commons.domain.RunState> runStateValidator, java.time.Duration timeout)  
      reactor.core.publisher.Mono<io.molr.commons.domain.Result> awaitFinished()  
      reactor.core.publisher.Mono<io.molr.commons.domain.Result> awaitFinished​(java.time.Duration timeout)  
      io.molr.commons.domain.MissionHandle awaitHandle()  
      void forget()
      Gives meaning to method chaining when the user just wants to trigger a Mission and does not want control
      void instruct​(io.molr.commons.domain.StrandCommand command)  
      protected Mole mole()  
      OngoingMissionRun.ReturnHelper<io.molr.commons.domain.Result> returnResult()  
      OngoingMissionRun.ReturnHelper<io.molr.commons.domain.MissionState> returnState()  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • OngoingMissionRun

        public OngoingMissionRun​(Mole mole,
                                 reactor.core.publisher.Mono<io.molr.commons.domain.MissionHandle> handle)
        Parameters:
        mole - the Mole which has missions registered
        handle - the MissionHandle of running Mission
    • Method Detail

      • forget

        public void forget()
        Gives meaning to method chaining when the user just wants to trigger a Mission and does not want control
      • mole

        protected Mole mole()
      • awaitFinished

        public reactor.core.publisher.Mono<io.molr.commons.domain.Result> awaitFinished​(java.time.Duration timeout)
        Parameters:
        timeout - the timeout before onNext signal
        Returns:
        a Mono of Result
      • awaitFinished

        public reactor.core.publisher.Mono<io.molr.commons.domain.Result> awaitFinished()
        Returns:
        a Mono of Result
      • asyncHandle

        public reactor.core.publisher.Mono<io.molr.commons.domain.MissionHandle> asyncHandle()
        Returns:
        a Mono of MissionHandle
      • awaitHandle

        public io.molr.commons.domain.MissionHandle awaitHandle()
        Returns:
        the MissionHandle represented by this OngoingMissionRun
      • instruct

        public void instruct​(io.molr.commons.domain.StrandCommand command)
        Parameters:
        command - the StrandCommand to be given to running Mission
      • await

        public void await​(java.util.function.Predicate<io.molr.commons.domain.RunState> runStateValidator)
        Parameters:
        runStateValidator - a Predicate for RunState
      • await

        public void await​(java.util.function.Predicate<io.molr.commons.domain.RunState> runStateValidator,
                          java.time.Duration timeout)
        Parameters:
        runStateValidator - a Predicate for RunState
        timeout - the timeout before onNext signal