Tasks

public final class Tasks extends Object

Task utility methods.

Public Method Summary

static <TResult> TResult
await(Task<TResult> task, long timeout, TimeUnit unit)
Blocks until the specified Task is complete.
static <TResult> TResult
await(Task<TResult> task)
Blocks until the specified Task is complete.
static <TResult> Task<TResult>
call(Callable<TResult> callable)
Returns a Task that will be completed with the result of the specified Callable.
static <TResult> Task<TResult>
call(Executor executor, Callable<TResult> callable)
Returns a Task that will be completed with the result of the specified Callable.
static <TResult> Task<TResult>
forCanceled()
Returns a canceled Task.
static <TResult> Task<TResult>
forException(Exception e)
Returns a completed Task with the specified exception.
static <TResult> Task<TResult>
forResult(TResult result)
Returns a completed Task with the specified result.
static Task<Void>
whenAll(Collection<? extends Task<?>> tasks)
Returns a Task that completes successfully when all of the specified Tasks complete successfully.
static Task<Void>
whenAll(Task...<?> tasks)
Returns a Task that completes successfully when all of the specified Tasks complete successfully.
static Task<List<Task<?>>>
whenAllComplete(Task...<?> tasks)
Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete.
static Task<List<Task<?>>>
whenAllComplete(Collection<? extends Task<?>> tasks)
Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete.
static <TResult> Task<List<TResult>>
whenAllSuccess(Task...<?> tasks)
Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully.
static <TResult> Task<List<TResult>>
whenAllSuccess(Collection<? extends Task<?>> tasks)
Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully.

Inherited Method Summary

Public Methods

public static TResult await (Task<TResult> task, long timeout, TimeUnit unit)

Blocks until the specified Task is complete.

Returns
  • the Task's result
Throws
ExecutionException if the Task fails
InterruptedException if an interrupt occurs while waiting for the Task to complete
TimeoutException if the specified timeout is reached before the Task completes

public static TResult await (Task<TResult> task)

Blocks until the specified Task is complete.

Returns
  • the Task's result
Throws
ExecutionException if the Task fails
InterruptedException if an interrupt occurs while waiting for the Task to complete

public static Task<TResult> call (Callable<TResult> callable)

Returns a Task that will be completed with the result of the specified Callable.

The Callable will be called on the main application thread.

public static Task<TResult> call (Executor executor, Callable<TResult> callable)

Returns a Task that will be completed with the result of the specified Callable.

Parameters
executor the Executor to use to call the Callable
callable

public static Task<TResult> forCanceled ()

Returns a canceled Task.

public static Task<TResult> forException (Exception e)

Returns a completed Task with the specified exception.

public static Task<TResult> forResult (TResult result)

Returns a completed Task with the specified result.

public static Task<Void> whenAll (Collection<? extends Task<?>> tasks)

Returns a Task that completes successfully when all of the specified Tasks complete successfully. Does not accept nulls.

The returned Task would fail if any of the provided Tasks fail. The returned Task would be set to canceled if any of the provided Tasks is canceled and no failure is detected.

Throws
NullPointerException if any of the provided Tasks are null

public static Task<Void> whenAll (Task...<?> tasks)

Returns a Task that completes successfully when all of the specified Tasks complete successfully. Does not accept nulls.

This Task would fail if any of the provided Tasks fail. This Task would be set to canceled if any of the provided Tasks is canceled and no failure is detected.

Throws
NullPointerException if any of the provided Tasks are null

public static Task<List<Task<?>>> whenAllComplete (Task...<?> tasks)

Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. This Task would always succeed even if any of the provided Tasks fail or canceled. Does not accept nulls.

Throws
NullPointerException if any of the provided Tasks are null

public static Task<List<Task<?>>> whenAllComplete (Collection<? extends Task<?>> tasks)

Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. This Task would always succeed even if any of the provided Tasks fail or canceled. Does not accept nulls.

Throws
NullPointerException if any of the provided Tasks are null

public static Task<List<TResult>> whenAllSuccess (Task...<?> tasks)

Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. This Task would fail if any of the provided Tasks fail. Does not accept nulls.

This Task would be set to canceled if any of the provided Tasks is canceled and no failure is detected.

Throws
NullPointerException if any of the provided Tasks are null

public static Task<List<TResult>> whenAllSuccess (Collection<? extends Task<?>> tasks)

Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. This Task would fail if any of the provided Tasks fail. Does not accept nulls.

This Task would be set to canceled if any of the provided Tasks is canceled and no failure is detected.

Throws
NullPointerException if any of the provided Tasks are null