public abstract class ForwardingFuture<V> extends ForwardingObject implements Future<V>
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 just use ForwardingFuture.SimpleForwardingFuture
.
Modifier and Type | Class and Description |
---|---|
static class |
ForwardingFuture.SimpleForwardingFuture<V>
A simplified version of
ForwardingFuture where subclasses can pass in an already constructed Future as the delegate. |
Modifier | Constructor and Description |
---|---|
protected |
ForwardingFuture()
Constructor for use by subclasses.
|
Modifier and Type | Method and Description |
---|---|
boolean |
cancel(boolean mayInterruptIfRunning) |
protected abstract Future<V> |
delegate() |
V |
get() |
V |
get(long timeout,
TimeUnit unit) |
boolean |
isCancelled() |
boolean |
isDone() |
toString
protected abstract Future<V> delegate()
delegate
in class ForwardingObject
public boolean cancel(boolean mayInterruptIfRunning)
public boolean isCancelled()
isCancelled
in interface Future<V>
public V get() throws InterruptedException, ExecutionException
get
in interface Future<V>
InterruptedException
ExecutionException
public V get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
get
in interface Future<V>
InterruptedException
ExecutionException
TimeoutException