com.google.common.util.concurrent
Class ForwardingCheckedFuture<V,X extends java.lang.Exception>
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.util.concurrent.ForwardingFuture<V>
com.google.common.util.concurrent.ForwardingListenableFuture<V>
com.google.common.util.concurrent.ForwardingCheckedFuture<V,X>
- Type Parameters:
V
- The result type returned by this Future's get
methodX
- The type of the Exception thrown by the Future's
checkedGet
method
- All Implemented Interfaces:
- CheckedFuture<V,X>, ListenableFuture<V>, java.util.concurrent.Future<V>
- Direct Known Subclasses:
- ForwardingCheckedFuture.SimpleForwardingCheckedFuture
@Beta
public abstract class ForwardingCheckedFuture<V,X extends java.lang.Exception>
- extends ForwardingListenableFuture<V>
- implements CheckedFuture<V,X>
A future which forwards all its method calls to another future. Subclasses
should override one or more methods to modify the behavior of the backing
future as desired per the decorator pattern.
Most subclasses can simply extend ForwardingCheckedFuture.SimpleForwardingCheckedFuture
.
- Since:
- 9.0
Method Summary |
V |
checkedGet()
Exception checking version of Future.get() that will translate
InterruptedException , CancellationException and
ExecutionException into application-specific exceptions. |
V |
checkedGet(long timeout,
java.util.concurrent.TimeUnit unit)
Exception checking version of Future.get(long, TimeUnit) that will
translate InterruptedException , CancellationException and
ExecutionException into application-specific exceptions. |
protected abstract CheckedFuture<V,X> |
delegate()
Returns the backing delegate instance that methods are forwarded to. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface java.util.concurrent.Future |
cancel, get, get, isCancelled, isDone |
ForwardingCheckedFuture
public ForwardingCheckedFuture()
checkedGet
public V checkedGet()
throws X extends java.lang.Exception
- Description copied from interface:
CheckedFuture
- Exception checking version of
Future.get()
that will translate
InterruptedException
, CancellationException
and
ExecutionException
into application-specific exceptions.
- Specified by:
checkedGet
in interface CheckedFuture<V,X extends java.lang.Exception>
- Returns:
- the result of executing the future.
- Throws:
X
- on interruption, cancellation or execution exceptions.
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
- Description copied from interface:
CheckedFuture
- 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
.
- Specified by:
checkedGet
in interface CheckedFuture<V,X extends java.lang.Exception>
- Returns:
- the result of executing the future.
- Throws:
java.util.concurrent.TimeoutException
- if retrieving the result timed out.
X
- on interruption, cancellation or execution exceptions.
X extends java.lang.Exception
delegate
protected abstract CheckedFuture<V,X> delegate()
- Description copied from class:
ForwardingObject
- Returns the backing delegate instance that methods are forwarded to.
Abstract subclasses generally override this method with an abstract method
that has a more specific return type, such as
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.
- Specified by:
delegate
in class ForwardingListenableFuture<V>