@UsesJava8 public class CompletableToListenableFutureAdapter<T> extends java.lang.Object implements ListenableFuture<T>
CompletableFuture
into a ListenableFuture
.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) |
Modifier and Type | Method and Description |
---|---|
void |
addCallback(ListenableFutureCallback<? super T> callback)
Registers the given callback to this
ListenableFuture . |
void |
addCallback(SuccessCallback<? super T> successCallback,
FailureCallback failureCallback)
Registers the given success and failure callbacks to this
ListenableFuture . |
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.CompletableFuture<T> completableFuture)
public void addCallback(ListenableFutureCallback<? super T> callback)
ListenableFuture
ListenableFuture
. The callback will
be triggered when this Future
is complete or, if it is already complete,
immediately.addCallback
in interface ListenableFuture<T>
callback
- the callback to registerpublic void addCallback(SuccessCallback<? super T> successCallback, FailureCallback failureCallback)
ListenableFuture
ListenableFuture
.
The callback will be triggered when this Future
is complete or, if it is
already complete immediately. This is a Java 8 lambdas compliant alternative to
ListenableFuture.addCallback(ListenableFutureCallback)
.addCallback
in interface ListenableFuture<T>
successCallback
- the success callback to registerfailureCallback
- the failure callback to registerpublic 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