Class AbstractCheckedFuture<V,​X extends java.lang.Exception>

    • Method Detail

      • checkedGet

        public V checkedGet()
                     throws X extends java.lang.Exception
        Exception checking version of Future.get() that will translate InterruptedException, CancellationException and ExecutionException into application-specific exceptions.

        This implementation calls ForwardingFuture.get() and maps that method's standard exceptions to instances of type X using mapException(java.lang.Exception).

        In addition, if get throws an InterruptedException, this implementation will set the current thread's interrupt status before calling mapException.

        Specified by:
        checkedGet in interface CheckedFuture<V,​X extends java.lang.Exception>
        Returns:
        the result of executing the future.
        Throws:
        X - if ForwardingFuture.get() throws an InterruptedException, CancellationException, or ExecutionException
        X extends java.lang.Exception
      • checkedGet

        public V checkedGet​(long timeout,
                            java.util.concurrent.TimeUnit unit)
                     throws java.util.concurrent.TimeoutException,
                            X extends java.lang.Exception
        Exception checking version of Future.get(long, TimeUnit) that will translate InterruptedException, CancellationException and ExecutionException into application-specific exceptions. On timeout this method throws a normal TimeoutException.

        This implementation calls ForwardingFuture.get(long, TimeUnit) and maps that method's standard exceptions (excluding TimeoutException, which is propagated) to instances of type X using mapException(java.lang.Exception).

        In addition, if get throws an InterruptedException, this implementation will set the current thread's interrupt status before calling mapException.

        Specified by:
        checkedGet in interface CheckedFuture<V,​X extends java.lang.Exception>
        Returns:
        the result of executing the future.
        Throws:
        X - if ForwardingFuture.get() throws an InterruptedException, CancellationException, or ExecutionException
        java.util.concurrent.TimeoutException - if retrieving the result timed out.
        X extends java.lang.Exception