Class TerminableDelegationFutureHandler<E>


  • public class TerminableDelegationFutureHandler<E>
    extends java.lang.Object
    Handler for common code of (non) intermediate terminable delegation future. Workaround for missing multiple inheritance.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected int pullcnt
      The number of intermediate pulls to be performed, when the source is connected.
      protected java.lang.Exception reason
      Exception used for termination.
      protected ITerminableFuture<E> src
      The termination source.
      protected java.util.List<java.lang.Object> storedcmds
      The list of stored backward commands, to be sent when src is connected.
      protected boolean terminate
      Flag if source has to be terminated.
      protected boolean terminated
      Flag if source has been terminated.
    • Field Detail

      • terminate

        protected boolean terminate
        Flag if source has to be terminated.
      • terminated

        protected boolean terminated
        Flag if source has been terminated.
      • reason

        protected java.lang.Exception reason
        Exception used for termination.
      • storedcmds

        protected java.util.List<java.lang.Object> storedcmds
        The list of stored backward commands, to be sent when src is connected.
      • pullcnt

        protected int pullcnt
        The number of intermediate pulls to be performed, when the source is connected.
    • Constructor Detail

      • TerminableDelegationFutureHandler

        public TerminableDelegationFutureHandler()
        Create a new future.
    • Method Detail

      • setTerminationSource

        public void setTerminationSource​(ITerminableFuture<E> src)
        Set the termination source.
      • terminate

        public void terminate()
        Terminate the future. The exception will be set to FutureTerminatedException.
      • terminate

        public void terminate​(java.lang.Exception reason)
        Terminate the future and supply a custom reason.
      • pullIntermediateResult

        public void pullIntermediateResult()
        Pull an intermediate result.
      • sendBackwardCommand

        public void sendBackwardCommand​(java.lang.Object info)
        Send a backward command in direction of the source.
        Parameters:
        info - The command info.