public class ListenableFutureCallbackRegistry<T>
extends java.lang.Object
ListenableFutureCallback
instances.
Inspired by com.google.common.util.concurrent.ExecutionList
.
Modifier and Type | Class and Description |
---|---|
private static class |
ListenableFutureCallbackRegistry.State |
Modifier and Type | Field and Description |
---|---|
private java.util.Queue<FailureCallback> |
failureCallbacks |
private java.lang.Object |
mutex |
private java.lang.Object |
result |
private ListenableFutureCallbackRegistry.State |
state |
private java.util.Queue<SuccessCallback<? super T>> |
successCallbacks |
Constructor and Description |
---|
ListenableFutureCallbackRegistry() |
Modifier and Type | Method and Description |
---|---|
void |
addCallback(ListenableFutureCallback<? super T> callback)
Add the given callback to this registry.
|
void |
addFailureCallback(FailureCallback callback)
Add the given failure callback to this registry.
|
void |
addSuccessCallback(SuccessCallback<? super T> callback)
Add the given success callback to this registry.
|
void |
failure(java.lang.Throwable ex)
Trigger a
FailureCallback.onFailure(Throwable) call on all
added callbacks with the given Throwable . |
void |
success(T result)
Trigger a
SuccessCallback.onSuccess(Object) call on all
added callbacks with the given result. |
private final java.util.Queue<SuccessCallback<? super T>> successCallbacks
private final java.util.Queue<FailureCallback> failureCallbacks
private ListenableFutureCallbackRegistry.State state
private java.lang.Object result
private final java.lang.Object mutex
public void addCallback(ListenableFutureCallback<? super T> callback)
callback
- the callback to addpublic void addSuccessCallback(SuccessCallback<? super T> callback)
callback
- the success callback to addpublic void addFailureCallback(FailureCallback callback)
callback
- the failure callback to addpublic void success(T result)
SuccessCallback.onSuccess(Object)
call on all
added callbacks with the given result.result
- the result to trigger the callbacks withpublic void failure(java.lang.Throwable ex)
FailureCallback.onFailure(Throwable)
call on all
added callbacks with the given Throwable
.ex
- the exception to trigger the callbacks with