public final class ApiFutures
Static utility methods for the ApiFuture interface.
Static Methods
<I,O>transformAsync(ApiFuture<I> input, ApiAsyncFunction<I,O> function) (deprecated)
public static ApiFuture<O> <I,O>transformAsync(ApiFuture<I> input, ApiAsyncFunction<I,O> function)
Deprecated. Use <xref uid="com.google.api.core.ApiFutures.<I,O>transformAsync(com.google.api.core.ApiFuture,com.google.api.core.ApiAsyncFunction<I,O>,java.util.concurrent.Executor)" data-throw-if-not-resolved="false">#transformAsync(ApiFuture, ApiAsyncFunction, Executor), the overload that requires an executor. For identical behavior, pass com.google.common.util.concurrent.MoreExecutors#directExecutor, but consider whether another executor would be safer.
Returns a new ApiFuture
whose result is asynchronously derived from the result of the
given ApiFuture
. If the given Future
fails, the returned ApiFuture
fails with the same exception (and the function is not invoked).
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<I> The future to transform |
function |
ApiAsyncFunction<I,O> A function to transform the result of the input future to the result of the output future |
Returns | |
---|---|
Type | Description |
ApiFuture<O> |
A future that holds result of the function (if the input succeeded) or the original input's failure (if not) |
<I,O>transformAsync(ApiFuture<I> input, ApiAsyncFunction<I,O> function, Executor executor)
public static ApiFuture<O> <I,O>transformAsync(ApiFuture<I> input, ApiAsyncFunction<I,O> function, Executor executor)
Returns a new ApiFuture
whose result is asynchronously derived from the result of the
given ApiFuture
. If the given Future
fails, the returned ApiFuture
fails with the same exception (and the function is not invoked).
Note that this method is a delegate of Futures#transformAsync(ListenableFuture, AsyncFunction, Executor). See Also: Futures#transformAsync(ListenableFuture, AsyncFunction, Executor)
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<I> The future to transform |
function |
ApiAsyncFunction<I,O> A function to transform the result of the input future to the result of the output future |
executor |
Executor Executor to run the function in. |
Returns | |
---|---|
Type | Description |
ApiFuture<O> |
A future that holds result of the function (if the input succeeded) or the original input's failure (if not) |
<V,X>catching(ApiFuture<? extends V> input, Class<X> exceptionType, ApiFunction<? super X,? extends V> callback) (deprecated)
public static ApiFuture<V> <V,X>catching(ApiFuture<? extends V> input, Class<X> exceptionType, ApiFunction<? super X,? extends V> callback)
Deprecated. Use the overload that requires an executor. For identical behavior, pass com.google.common.util.concurrent.MoreExecutors#directExecutor, but consider whether another executor would be safer.
Returns an ApiFuture whose result is taken from the given primary input or, if the primary input fails with the given exceptionType, from the result provided by the callback.
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<? extends V> The primary input |
exceptionType |
Class<X> The exception type that triggers use of |
callback |
ApiFunction<? super X,? extends V> The ApiFunction to be called if input fails with the expected exception type |
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A future whose result is taken either from the given |
<V,X>catching(ApiFuture<? extends V> input, Class<X> exceptionType, ApiFunction<? super X,? extends V> callback, Executor executor)
public static ApiFuture<V> <V,X>catching(ApiFuture<? extends V> input, Class<X> exceptionType, ApiFunction<? super X,? extends V> callback, Executor executor)
Returns an ApiFuture whose result is taken from the given primary input or, if the primary input fails with the given exceptionType, from the result provided by the callback.
Note that this method is a delegate of Futures#catching(ListenableFuture, Class, Function, Executor). See Also: Futures#catching(ListenableFuture, Class, Function, Executor)
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<? extends V> The primary input |
exceptionType |
Class<X> The exception type that triggers use of |
callback |
ApiFunction<? super X,? extends V> The ApiFunction to be called if input fails with the expected exception type |
executor |
Executor The executor that runs |
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A future whose result is taken either from the given |
<V,X>catchingAsync(ApiFuture<V> input, Class<X> exceptionType, ApiAsyncFunction<? super X,V> callback, Executor executor)
public static ApiFuture<V> <V,X>catchingAsync(ApiFuture<V> input, Class<X> exceptionType, ApiAsyncFunction<? super X,V> callback, Executor executor)
Returns a ApiFuture whose result is taken from the given primary input or, if the primary input fails with the given exceptionType, from the result provided by the callback.
Note that this method is a delegate of Futures#catchingAsync(ListenableFuture, Class, AsyncFunction, Executor) See Also: Futures#catchingAsync(ListenableFuture, Class, AsyncFunction, Executor)
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<V> The primary input |
exceptionType |
Class<X> The exception type that triggers use of |
callback |
ApiAsyncFunction<? super X,V> The ApiAsyncFunction to be called if |
executor |
Executor The executor that runs |
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A future whose result is taken either from the given |
<V,X>transform(ApiFuture<? extends V> input, ApiFunction<? super V,? extends X> function) (deprecated)
public static ApiFuture<X> <V,X>transform(ApiFuture<? extends V> input, ApiFunction<? super V,? extends X> function)
Deprecated. Use the overload that requires an executor. For identical behavior, pass com.google.common.util.concurrent.MoreExecutors#directExecutor, but consider whether another executor would be safer.
Returns a new ApiFuture
whose result is derived from the result of the given
ApiFuture
.
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<? extends V> The future to transform |
function |
ApiFunction<? super V,? extends X> A Function to transform the results of the provided future to the results of the returned future |
Returns | |
---|---|
Type | Description |
ApiFuture<X> |
A future that holds result of the transformation |
<V,X>transform(ApiFuture<? extends V> input, ApiFunction<? super V,? extends X> function, Executor executor)
public static ApiFuture<X> <V,X>transform(ApiFuture<? extends V> input, ApiFunction<? super V,? extends X> function, Executor executor)
Returns a new ApiFuture
whose result is derived from the result of the given
ApiFuture
.
Note that this method is a delegate of Futures#transform(ListenableFuture, Function, Executor). See Also: Futures#transform(ListenableFuture, Function, Executor)
Parameters | |
---|---|
Name | Description |
input |
ApiFuture<? extends V> The future to transform |
function |
ApiFunction<? super V,? extends X> A Function to transform the results of the provided future to the results of the returned future. |
executor |
Executor Executor to run the function in. |
Returns | |
---|---|
Type | Description |
ApiFuture<X> |
A future that holds result of the transformation |
<V>addCallback(ApiFuture<V> future, ApiFutureCallback<? super V> callback) (deprecated)
public static void <V>addCallback(ApiFuture<V> future, ApiFutureCallback<? super V> callback)
Deprecated. Use the overload that requires an executor. For identical behavior, pass com.google.common.util.concurrent.MoreExecutors#directExecutor, but consider whether another executor would be safer.
Registers a callback to be run when the ApiFuture's computation is complete or, if the computation is already complete, immediately.
Parameters | |
---|---|
Name | Description |
future |
ApiFuture<V> The future attach the callback to |
callback |
ApiFutureCallback<? super V> The callback to invoke when future is completed |
<V>addCallback(ApiFuture<V> future, ApiFutureCallback<? super V> callback, Executor executor)
public static void <V>addCallback(ApiFuture<V> future, ApiFutureCallback<? super V> callback, Executor executor)
Registers a callback to be run when the ApiFuture's computation is complete or, if the computation is already complete, immediately.
Note that this method is a delegate of Futures#addCallback(ListenableFuture, FutureCallback, Executor). See Also: Futures#addCallback(ListenableFuture, FutureCallback, Executor)
Parameters | |
---|---|
Name | Description |
future |
ApiFuture<V> The future attach the callback to |
callback |
ApiFutureCallback<? super V> The callback to invoke when future is completed |
executor |
Executor The executor to run callback when the future completes |
<V>allAsList(Iterable<? extends ApiFuture<? extends V>> futures)
public static ApiFuture<List<V>> <V>allAsList(Iterable<? extends ApiFuture<? extends V>> futures)
Creates a new ApiFuture
whose value is a list containing the values of all its input
futures, if all succeed.
The list of results is in the same order as the input list.
Note that this method is a delegate of Futures#allAsList(Iterable). See Also: Futures#allAsList(Iterable)
Parameter | |
---|---|
Name | Description |
futures |
Iterable<? extends com.google.api.core.ApiFuture<? extends V>> Futures to combine |
Returns | |
---|---|
Type | Description |
ApiFuture<List<V>> |
A future that provides a list of the results of the component futures |
<V>immediateCancelledFuture()
public static ApiFuture<V> <V>immediateCancelledFuture()
Creates a ApiFuture
which is cancelled immediately upon construction, so that
isCancelled()
always returns true
.
Note that this method is a delegate of Futures#immediateCancelledFuture(). See Also: Futures#immediateCancelledFuture()
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A cancelled future |
<V>immediateFailedFuture(Throwable throwable)
public static ApiFuture<V> <V>immediateFailedFuture(Throwable throwable)
Returns a ApiFuture
which has an exception set immediately upon construction.
Note that this method is a delegate of Futures#immediateFailedFuture(Throwable). See Also: Futures#immediateFailedFuture(Throwable)
Parameter | |
---|---|
Name | Description |
throwable |
Throwable The exception set to the |
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A future that holds an exception |
<V>immediateFuture(V value)
public static ApiFuture<V> <V>immediateFuture(V value)
Creates a ApiFuture
which has its value set immediately upon construction.
Note that this method is a delegate of Futures#immediateFuture(Object). See Also: Futures#immediateFuture(Object)
Parameter | |
---|---|
Name | Description |
value |
V The value set to the |
Returns | |
---|---|
Type | Description |
ApiFuture<V> |
A future that holds |
<V>successfulAsList(Iterable<? extends ApiFuture<? extends V>> futures)
public static ApiFuture<List<V>> <V>successfulAsList(Iterable<? extends ApiFuture<? extends V>> futures)
Creates a new ApiFuture
whose value is a list containing the values of all its
successful input futures. The list of results is in the same order as the input list, and if
any of the provided futures fails or is canceled, its corresponding position will contain
null
(which is indistinguishable from the future having a successful value of
null
).
The list of results is in the same order as the input list.
Note that this method is a delegate of Futures#successfulAsList(Iterable). See Also: Futures#successfulAsList(Iterable)
Parameter | |
---|---|
Name | Description |
futures |
Iterable<? extends com.google.api.core.ApiFuture<? extends V>> Futures to combine |
Returns | |
---|---|
Type | Description |
ApiFuture<List<V>> |
A future that provides a list of the results of the component futures |