Class BasicFuture<T>

  • Type Parameters:
    T - the future result type of an asynchronous operation.
    All Implemented Interfaces:
    java.util.concurrent.Future<T>, Cancellable

    public class BasicFuture<T>
    extends java.lang.Object
    implements java.util.concurrent.Future<T>, Cancellable
    Basic implementation of the Future interface. BasicFuture can be put into a completed state by invoking any of the following methods: cancel(), failed(Exception), or completed(Object).
    Since:
    4.2
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean cancel()
      Cancels the ongoing operation or process.
      boolean cancel​(boolean mayInterruptIfRunning)  
      boolean completed​(T result)  
      boolean failed​(java.lang.Exception exception)  
      T get()  
      T get​(long timeout, java.util.concurrent.TimeUnit unit)  
      private T getResult()  
      boolean isCancelled()  
      boolean isDone()  
      • Methods inherited from class java.lang.Object

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

      • completed

        private volatile boolean completed
      • cancelled

        private volatile boolean cancelled
      • result

        private volatile T result
      • ex

        private volatile java.lang.Exception ex
    • Method Detail

      • isCancelled

        public boolean isCancelled()
        Specified by:
        isCancelled in interface java.util.concurrent.Future<T>
      • isDone

        public boolean isDone()
        Specified by:
        isDone in interface java.util.concurrent.Future<T>
      • getResult

        private T getResult()
                     throws java.util.concurrent.ExecutionException
        Throws:
        java.util.concurrent.ExecutionException
      • get

        public T get()
              throws java.lang.InterruptedException,
                     java.util.concurrent.ExecutionException
        Specified by:
        get in interface java.util.concurrent.Future<T>
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
      • get

        public T get​(long timeout,
                     java.util.concurrent.TimeUnit unit)
              throws java.lang.InterruptedException,
                     java.util.concurrent.ExecutionException,
                     java.util.concurrent.TimeoutException
        Specified by:
        get in interface java.util.concurrent.Future<T>
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException
      • completed

        public boolean completed​(T result)
      • failed

        public boolean failed​(java.lang.Exception exception)
      • cancel

        public boolean cancel​(boolean mayInterruptIfRunning)
        Specified by:
        cancel in interface java.util.concurrent.Future<T>
      • cancel

        public boolean cancel()
        Description copied from interface: Cancellable
        Cancels the ongoing operation or process.
        Specified by:
        cancel in interface Cancellable
        Returns:
        true if the operation or process has been cancelled as a result of this method call or false if it has already been cancelled or not started.