public class CompletableToListenableFutureAdapter<T> extends java.lang.Object implements ListenableFuture<T>
Modifier and Type | Field and Description |
---|---|
private ListenableFutureCallbackRegistry<T> |
callbacks |
private java.util.concurrent.CompletableFuture<T> |
completableFuture |
Constructor and Description |
---|
CompletableToListenableFutureAdapter(java.util.concurrent.CompletableFuture<T> completableFuture)
Create a new adapter for the given
CompletableFuture . |
CompletableToListenableFutureAdapter(java.util.concurrent.CompletionStage<T> completionStage)
Create a new adapter for the given
CompletionStage . |
Modifier and Type | Method and Description |
---|---|
void |
addCallback(ListenableFutureCallback<? super T> callback)
Register the given
ListenableFutureCallback . |
void |
addCallback(SuccessCallback<? super T> successCallback,
FailureCallback failureCallback)
Java 8 lambda-friendly alternative with success and failure callbacks.
|
boolean |
cancel(boolean mayInterruptIfRunning) |
T |
get() |
T |
get(long timeout,
java.util.concurrent.TimeUnit unit) |
boolean |
isCancelled() |
boolean |
isDone() |
private final java.util.concurrent.CompletableFuture<T> completableFuture
private final ListenableFutureCallbackRegistry<T> callbacks
public CompletableToListenableFutureAdapter(java.util.concurrent.CompletionStage<T> completionStage)
CompletionStage
.public CompletableToListenableFutureAdapter(java.util.concurrent.CompletableFuture<T> completableFuture)
CompletableFuture
.public void addCallback(ListenableFutureCallback<? super T> callback)
ListenableFuture
ListenableFutureCallback
.addCallback
in interface ListenableFuture<T>
callback
- the callback to registerpublic void addCallback(SuccessCallback<? super T> successCallback, FailureCallback failureCallback)
ListenableFuture
addCallback
in interface ListenableFuture<T>
successCallback
- the success callbackfailureCallback
- the failure callbackpublic boolean cancel(boolean mayInterruptIfRunning)
cancel
in interface java.util.concurrent.Future<T>
public boolean isCancelled()
isCancelled
in interface java.util.concurrent.Future<T>
public boolean isDone()
isDone
in interface java.util.concurrent.Future<T>
public T get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
get
in interface java.util.concurrent.Future<T>
java.lang.InterruptedException
java.util.concurrent.ExecutionException
public T get(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
get
in interface java.util.concurrent.Future<T>
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException