Class Futures.FutureCombiner<V extends @Nullable java.lang.Object>
- java.lang.Object
- 
- com.google.common.util.concurrent.Futures.FutureCombiner<V>
 
- 
- Enclosing class:
- Futures
 
 @GwtCompatible public static final class Futures.FutureCombiner<V extends @Nullable java.lang.Object> extends java.lang.Object A helper to create a newListenableFuturewhose result is generated from a combination of input futures.See Futures.whenAllComplete(com.google.common.util.concurrent.ListenableFuture<? extends V>...)andFutures.whenAllSucceed(com.google.common.util.concurrent.ListenableFuture<? extends V>...)for how to instantiate this class.Example: final ListenableFuture<Instant> loginDateFuture = loginService.findLastLoginDate(username); final ListenableFuture<List<String>> recentCommandsFuture = recentCommandsService.findRecentCommands(username); ListenableFuture<UsageHistory> usageFuture = Futures.whenAllSucceed(loginDateFuture, recentCommandsFuture) .call( () -> new UsageHistory( username, Futures.getDone(loginDateFuture), Futures.getDone(recentCommandsFuture)), executor);- Since:
- 20.0
 
- 
- 
Method SummaryAll Methods Instance Methods Concrete Methods Modifier and Type Method Description <C extends @Nullable java.lang.Object>
 ListenableFuture<C>call(java.util.concurrent.Callable<C> combiner, java.util.concurrent.Executor executor)Creates theListenableFuturewhich will return the result of callingCallable.call()incombinerwhen all futures complete, using the specifiedexecutor.<C extends @Nullable java.lang.Object>
 ListenableFuture<C>callAsync(AsyncCallable<C> combiner, java.util.concurrent.Executor executor)Creates theListenableFuturewhich will return the result of callingAsyncCallable.call()incombinerwhen all futures complete, using the specifiedexecutor.ListenableFuture<?>run(java.lang.Runnable combiner, java.util.concurrent.Executor executor)Creates theListenableFuturewhich will return the result of runningcombinerwhen all Futures complete.
 
- 
- 
- 
Method Detail- 
callAsyncpublic <C extends @Nullable java.lang.Object> ListenableFuture<C> callAsync(AsyncCallable<C> combiner, java.util.concurrent.Executor executor) Creates theListenableFuturewhich will return the result of callingAsyncCallable.call()incombinerwhen all futures complete, using the specifiedexecutor.If the combiner throws a CancellationException, the returned future will be cancelled.If the combiner throws an ExecutionException, the cause of the thrownExecutionExceptionwill be extracted and returned as the cause of the newExecutionExceptionthat gets thrown by the returned combined future.Canceling this future will attempt to cancel all the component futures. - Returns:
- a future whose result is based on combiner(or based on the input futures passed towhenAllSucceed, if that is the method you used to create thisFutureCombiner). Even if you don't care about the value of the future, you should typically check whether it failed: See https://errorprone.info/bugpattern/FutureReturnValueIgnored.
 
 - 
callpublic <C extends @Nullable java.lang.Object> ListenableFuture<C> call(java.util.concurrent.Callable<C> combiner, java.util.concurrent.Executor executor) Creates theListenableFuturewhich will return the result of callingCallable.call()incombinerwhen all futures complete, using the specifiedexecutor.If the combiner throws a CancellationException, the returned future will be cancelled.If the combiner throws an ExecutionException, the cause of the thrownExecutionExceptionwill be extracted and returned as the cause of the newExecutionExceptionthat gets thrown by the returned combined future.Canceling this future will attempt to cancel all the component futures. - Returns:
- a future whose result is based on combiner(or based on the input futures passed towhenAllSucceed, if that is the method you used to create thisFutureCombiner). Even if you don't care about the value of the future, you should typically check whether it failed: See https://errorprone.info/bugpattern/FutureReturnValueIgnored.
 
 - 
runpublic ListenableFuture<?> run(java.lang.Runnable combiner, java.util.concurrent.Executor executor) Creates theListenableFuturewhich will return the result of runningcombinerwhen all Futures complete.combinerwill run usingexecutor.If the combiner throws a CancellationException, the returned future will be cancelled.Canceling this Future will attempt to cancel all the component futures. - Returns:
- a future whose result is based on combiner(or based on the input futures passed towhenAllSucceed, if that is the method you used to create thisFutureCombiner). Even though the future never produces a value other thannull, you should typically check whether it failed: See https://errorprone.info/bugpattern/FutureReturnValueIgnored.
- Since:
- 23.6
 
 
- 
 
-