Package org.dataloader.impl
Interface PromisedValues<T>
- All Known Implementing Classes:
PromisedValuesImpl
public interface PromisedValues<T>
This allows multiple
CompletionStages to be combined and completed
as one and should something go wrong, instead of throwing CompletionExceptions it captures the cause and returns null for that
data value, otherwise it allows you to access them as a list of values.
This class really encapsulate a list of promised values. It is considered finished when all the underlying futures are finished.
You can get that list of values via toList(). You can also compose a CompletableFuture of that
list of values via toCompletableFuture() ()}
-
Method Summary
Modifier and TypeMethodDescriptionstatic <T> PromisedValues<T>allOf(CompletionStage<T> f1, CompletionStage<T> f2) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete.static <T> PromisedValues<T>allOf(CompletionStage<T> f1, CompletionStage<T> f2, CompletionStage<T> f3) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete.static <T> PromisedValues<T>allOf(CompletionStage<T> f1, CompletionStage<T> f2, CompletionStage<T> f3, CompletionStage<T> f4) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete.static <T> PromisedValues<T>allOf(List<? extends CompletionStage<T>> cfs) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete.static <T> PromisedValues<T>allPromisedValues(List<PromisedValues<T>> cfs) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete.static <T> PromisedValues<T>allPromisedValues(PromisedValues<T> pv1, PromisedValues<T> pv2) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete.static <T> PromisedValues<T>allPromisedValues(PromisedValues<T> pv1, PromisedValues<T> pv2, PromisedValues<T> pv3) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete.static <T> PromisedValues<T>allPromisedValues(PromisedValues<T> pv1, PromisedValues<T> pv2, PromisedValues<T> pv3, PromisedValues<T> pv4) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete.cause()The exception cause or null if it didn't failcause(int index) The exception cause at the specified index or null if it didn't failbooleanfailed()get(int index) The value at index or null if it failedbooleanisDone()The true if the all the futures have completed (and hence thisPromisedValueshas completed)join()Waits for the underlying futures to complete.intsize()booleanbooleansucceeded(int index) The true if theCompletionStageat the specified index succeededthenAccept(Consumer<PromisedValues<T>> handler) When the all the futures complete, this call back will be invoked with thisPromisedValuesas a parametertoList()Returns the underlying values as a list
-
Method Details
-
allOf
Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete. If any of the givenCompletionStages complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
cfs- theCompletionStages to combine- Returns:
- a new PromisedValues
-
allOf
Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete. If any of the givenCompletionStages complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
f1- the 1st completable futuref2- the 2nd completable future- Returns:
- a new PromisedValues
-
allOf
static <T> PromisedValues<T> allOf(CompletionStage<T> f1, CompletionStage<T> f2, CompletionStage<T> f3) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete. If any of the givenCompletionStages complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
f1- the 1st completable futuref2- the 2nd completable futuref3- the 3rd completable future- Returns:
- a new PromisedValues
-
allOf
static <T> PromisedValues<T> allOf(CompletionStage<T> f1, CompletionStage<T> f2, CompletionStage<T> f3, CompletionStage<T> f4) Returns a newPromisedValuesthat is completed when all the givenCompletionStages complete. If any of the givenCompletionStages complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
f1- the 1st completable futuref2- the 2nd completable futuref3- the 3rd completable futuref4- the 4th completable future- Returns:
- a new PromisedValues
-
allPromisedValues
Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete. If any of the givenPromisedValuess complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
cfs- the list to combine- Returns:
- a new PromisedValues
-
allPromisedValues
Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete. If any of the givenPromisedValuess complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
pv1- the 1st promised valuepv2- the 2nd promised value- Returns:
- a new PromisedValues
-
allPromisedValues
static <T> PromisedValues<T> allPromisedValues(PromisedValues<T> pv1, PromisedValues<T> pv2, PromisedValues<T> pv3) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete. If any of the givenPromisedValuess complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
pv1- the 1st promised valuepv2- the 2nd promised valuepv3- the 3rd promised value- Returns:
- a new PromisedValues
-
allPromisedValues
static <T> PromisedValues<T> allPromisedValues(PromisedValues<T> pv1, PromisedValues<T> pv2, PromisedValues<T> pv3, PromisedValues<T> pv4) Returns a newPromisedValuesthat is completed when all the givenPromisedValuess complete. If any of the givenPromisedValuess complete exceptionally, then the returnedPromisedValuesalso does so.- Type Parameters:
T- the type of values- Parameters:
pv1- the 1st promised valuepv2- the 2nd promised valuepv3- the 3rd promised valuepv4- the 4th promised value- Returns:
- a new PromisedValues
-
thenAccept
When the all the futures complete, this call back will be invoked with thisPromisedValuesas a parameter- Parameters:
handler- the call back which will be given this object- Returns:
- a new
PromisedValueswhich you can compose more computations with
-
succeeded
boolean succeeded()- Returns:
- true if all the futures completed successfully
-
failed
boolean failed()- Returns:
- true if any of the futures completed unsuccessfully
-
isDone
boolean isDone()The true if the all the futures have completed (and hence thisPromisedValueshas completed)- Returns:
- true if all the futures have completed
-
cause
Throwable cause()The exception cause or null if it didn't fail- Returns:
- an exception or null if the future did not fail
-
succeeded
boolean succeeded(int index) The true if theCompletionStageat the specified index succeeded- Parameters:
index- the index of theCompletionStage- Returns:
- true if the future at the specified index succeeded
-
cause
The exception cause at the specified index or null if it didn't fail- Parameters:
index- the index of theCompletionStage- Returns:
- an exception or null if the future did not fail
-
get
The value at index or null if it failed- Parameters:
index- the index of the future- Returns:
- the value of the future
-
toList
Returns the underlying values as a list- Returns:
- the list of underlying values
-
size
int size()- Returns:
- the number of
CompletionStages under the covers
-
join
Waits for the underlying futures to complete. To better conform with the use of common functional forms, if a computation involved in the completion of this CompletableFuture threw an exception, this method throws an (unchecked)CompletionExceptionwith the underlying exception as its cause.- Returns:
- the list of completed values similar to
toList() - Throws:
CancellationException- if the computation was cancelledCompletionException- if this future completed exceptionally or a completion computation threw an exception
-
toCompletableFuture
CompletableFuture<List<T>> toCompletableFuture()- Returns:
- this as a
CompletableFuturethat returns the list of underlying values
-