Class JDKHttpFuture<V>

  • Type Parameters:
    V -
    All Implemented Interfaces:
    java.util.concurrent.Future<V>

    public class JDKHttpFuture<V>
    extends java.lang.Object
    implements java.util.concurrent.Future<V>
    Fake Future. Just to have Future API for the default JDK Http client. It's NOT Async in any way. Just facade.
    That's it. Sync execution with Async methods. This class does NOT provide any async executions.
    • Field Summary

      Fields 
      Modifier and Type Field Description
      private java.lang.Exception exception  
      private V response  
    • Constructor Summary

      Constructors 
      Modifier Constructor Description
        JDKHttpFuture​(java.lang.Exception exception)  
        JDKHttpFuture​(V response)  
      private JDKHttpFuture​(V response, java.lang.Exception exception)  
    • 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()  
      • Methods inherited from class java.lang.Object

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

      • exception

        private final java.lang.Exception exception
      • response

        private final V response
    • Constructor Detail

      • JDKHttpFuture

        public JDKHttpFuture​(java.lang.Exception exception)
      • JDKHttpFuture

        public JDKHttpFuture​(V response)
      • JDKHttpFuture

        private JDKHttpFuture​(V response,
                              java.lang.Exception exception)
    • 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