Class FutureAdapter<T,S>
- java.lang.Object
- org.springframework.util.concurrent.FutureAdapter<T,S>
- Type Parameters:
T
- the type of thisFuture
S
- the type of the adaptee'sFuture
- All Implemented Interfaces:
Future<T>
- Direct Known Subclasses:
ListenableFutureAdapter
public abstract class FutureAdapter<T,S> extends Object implements Future<T>
Abstract class that adapts aFuture
parameterized over S into aFuture
parameterized over T. All methods are delegated to the adaptee, whereget()
andget(long, TimeUnit)
calladapt(Object)
on the adaptee's result.- Since:
- 4.0
- Author:
- Arjen Poutsma
Constructor Summary
Constructors Modifier Constructor Description protected
FutureAdapter(Future<S> adaptee)
Constructs a newFutureAdapter
with the given adaptee.
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description protected abstract T
adapt(S adapteeResult)
Adapts the given adaptee's result into T.boolean
cancel(boolean mayInterruptIfRunning)
T
get()
T
get(long timeout, TimeUnit unit)
protected Future<S>
getAdaptee()
Returns the adaptee.boolean
isCancelled()
boolean
isDone()
Constructor Detail
FutureAdapter
protected FutureAdapter(Future<S> adaptee)
Constructs a newFutureAdapter
with the given adaptee.- Parameters:
adaptee
- the future to delegate to
Method Detail
getAdaptee
protected Future<S> getAdaptee()
Returns the adaptee.
cancel
public boolean cancel(boolean mayInterruptIfRunning)
isCancelled
public boolean isCancelled()
- Specified by:
isCancelled
in interfaceFuture<T>
get
@Nullable public T get() throws InterruptedException, ExecutionException
- Specified by:
get
in interfaceFuture<T>
- Throws:
InterruptedException
ExecutionException
get
@Nullable public T get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
- Specified by:
get
in interfaceFuture<T>
- Throws:
InterruptedException
ExecutionException
TimeoutException
adapt
@Nullable protected abstract T adapt(S adapteeResult) throws ExecutionException
Adapts the given adaptee's result into T.- Returns:
- the adapted result
- Throws:
ExecutionException