Package one.nio.async

Class SettableFuture<V>

  • All Implemented Interfaces:
    java.lang.Runnable, java.util.concurrent.Future<V>, java.util.concurrent.RunnableFuture<V>

    public class SettableFuture<V>
    extends java.lang.Object
    implements java.util.concurrent.RunnableFuture<V>
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected boolean done  
      protected java.lang.Throwable throwable  
      protected V value  
    • Constructor Summary

      Constructors 
      Constructor Description
      SettableFuture()  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      boolean cancel​(boolean mayInterruptIfRunning)  
      V get()  
      V get​(long timeout, java.util.concurrent.TimeUnit unit)  
      boolean isCancelled()  
      boolean isDone()  
      void run()  
      void set​(V value)  
      void setException​(java.lang.Throwable throwable)  
      protected void waitForCompletion()  
      protected void waitForCompletion​(long timeout)  
      • Methods inherited from class java.lang.Object

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

      • value

        protected V value
      • throwable

        protected java.lang.Throwable throwable
      • done

        protected volatile boolean done
    • Constructor Detail

      • SettableFuture

        public SettableFuture()
    • Method Detail

      • cancel

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

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

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

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

        public V 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<V>
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.ExecutionException
        java.util.concurrent.TimeoutException
      • set

        public void set​(V value)
      • setException

        public void setException​(java.lang.Throwable throwable)
      • waitForCompletion

        protected void waitForCompletion()
                                  throws java.lang.InterruptedException
        Throws:
        java.lang.InterruptedException
      • waitForCompletion

        protected void waitForCompletion​(long timeout)
                                  throws java.lang.InterruptedException,
                                         java.util.concurrent.TimeoutException
        Throws:
        java.lang.InterruptedException
        java.util.concurrent.TimeoutException
      • run

        public void run()
        Specified by:
        run in interface java.lang.Runnable
        Specified by:
        run in interface java.util.concurrent.RunnableFuture<V>