Tasks
public final class Tasks
Task
utility methods.
Summary
Public methods |
|
---|---|
static TResult |
Blocks until the specified Task is complete. |
static TResult |
Blocks until the specified Task is complete. |
static @NonNull Task<TResult> |
This method is deprecated. Use |
static @NonNull Task<TResult> |
This method is deprecated. Use |
static @NonNull Task<TResult> |
<TResult> forCanceled() Returns a canceled Task. |
static @NonNull Task<TResult> |
<TResult> forException(@NonNull Exception e) Returns a completed Task with the specified exception. |
static @NonNull Task<TResult> |
<TResult> forResult(TResult result) Returns a completed Task with the specified result. |
static @NonNull Task<Void> |
Returns a Task that completes successfully when all of the specified Tasks complete successfully. |
static @NonNull Task<Void> |
whenAll(@Nullable Collection<Task<Object>> tasks) Returns a Task that completes successfully when all of the specified Tasks complete successfully. |
static @NonNull Task<List<Task<Object>>> |
whenAllComplete(@Nullable Task[] tasks) Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. |
static @NonNull Task<List<Task<Object>>> |
whenAllComplete(@Nullable Collection<Task<Object>> tasks) Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. |
static @NonNull Task<List<Task<Object>>> |
whenAllComplete(Executor executor, @Nullable Task[] tasks) Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. |
static @NonNull Task<List<Task<Object>>> |
whenAllComplete( Returns a Task with a list of Tasks that completes successfully when all of the specified Tasks complete. |
static @NonNull Task<List<TResult>> |
<TResult> whenAllSuccess(@Nullable Task[] tasks) Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. |
static @NonNull Task<List<TResult>> |
<TResult> whenAllSuccess(@Nullable Collection<Task<Object>> tasks) Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. |
static @NonNull Task<List<TResult>> |
<TResult> whenAllSuccess(Executor executor, @Nullable Task[] tasks) Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. |
static @NonNull Task<List<TResult>> |
<TResult> whenAllSuccess( Returns a Task with a list of Task results that completes successfully when all of the specified Tasks complete successfully. |
static Task<T> |
<T> withTimeout(@NonNull Task<T> task, long timeout, @NonNull TimeUnit unit) Returns a new Task which will return a |
Public methods
await
public static TResult <TResult> await(@NonNull Task<TResult> task)
Blocks until the specified Task is complete.
Returns | |
---|---|
TResult |
the Task's result |
Throws | |
---|---|
java.util.concurrent.ExecutionException |
if the Task fails. |
java.lang.InterruptedException |
if an interrupt occurs while waiting for the Task to complete |
await
public static TResult <TResult> await(
@NonNull Task<TResult> task,
long timeout,
@NonNull TimeUnit unit
)
Blocks until the specified Task is complete.
Returns | |
---|---|
TResult |
the Task's result |
Throws | |
---|---|
java.util.concurrent.ExecutionException |
if the Task fails. |
java.lang.InterruptedException |
if an interrupt occurs while waiting for the Task to complete |
java.util.concurrent.TimeoutException |
if the specified timeout is reached before the Task completes |
call
public static @NonNull Task<TResult> <TResult>call(@NonNull Callable<TResult> callable)
Returns a Task
that will be completed with the result of the specified
Callable
.
If a non-Exception
throwable is thrown in the callable, the Task
will be failed with a RuntimeException
whose cause is the original throwable.
The Callable
will be called on the main application thread.
call
public static @NonNull Task<TResult> <TResult>call(
@NonNull Executor executor,
@NonNull Callable<TResult> callable
)
Returns a Task
that will be completed with the result of the specified
Callable
.
If a non-Exception
throwable is thrown in the callable, the Task
will be failed with a RuntimeException
whose cause is the original throwable.
forException
public static @NonNull Task<TResult> <TResult> forException(@NonNull Exception e)
Returns a completed Task with the specified exception.
forResult
public static @NonNull Task<TResult> <TResult> forResult(TResult result)
Returns a completed Task with the specified result.
whenAll
public static @NonNull Task<Void> whenAll(@Nullable 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 | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAll
public static @NonNull Task<Void> whenAll(@Nullable Collection<Task<Object>> 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 | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllComplete
public static @NonNull Task<List<Task<Object>>> whenAllComplete(@Nullable 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.
This method execute tasks on the main thread, and can cause stuttering or delay when the main thread is busy. Consider migrating to whenAllComplete
where an executor can be specified to use a background thread.
Throws | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllComplete
public static @NonNull Task<List<Task<Object>>> whenAllComplete(@Nullable Collection<Task<Object>> 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.
This method execute tasks on the main thread, and can cause stuttering or delay when the main thread is busy. Consider migrating to whenAllComplete
where an executor can be specified to use a background thread.
Throws | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllComplete
public static @NonNull Task<List<Task<Object>>> whenAllComplete(Executor executor, @Nullable 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 | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllComplete
public static @NonNull Task<List<Task<Object>>> whenAllComplete(
Executor executor,
@Nullable Collection<Task<Object>> 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 | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllSuccess
public static @NonNull Task<List<TResult>> <TResult> whenAllSuccess(@Nullable 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.
This method execute tasks on the main thread, and can cause stuttering or delay when the main thread is busy. Consider migrating to whenAllSuccess
where an executor can be specified to use a background thread.
Throws | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllSuccess
public static @NonNull Task<List<TResult>> <TResult> whenAllSuccess(@Nullable Collection<Task<Object>> 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.
This method execute tasks on the main thread, and can cause stuttering or delay when the main thread is busy. Consider migrating to whenAllSuccess
where an executor can be specified to use a background thread.
Throws | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllSuccess
public static @NonNull Task<List<TResult>> <TResult> whenAllSuccess(Executor executor, @Nullable 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 | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
whenAllSuccess
public static @NonNull Task<List<TResult>> <TResult> whenAllSuccess(
Executor executor,
@Nullable Collection<Task<Object>> 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.
Parameters | |
---|---|
Executor executor |
the Executor to use to run the |
Throws | |
---|---|
java.lang.NullPointerException |
if any of the provided Tasks are null |
withTimeout
public static Task<T> <T> withTimeout(@NonNull Task<T> task, long timeout, @NonNull TimeUnit unit)
Returns a new Task which will return a TimeoutException
if a result is not returned within the specified time period.
Returns | |
---|---|
Task<T> |
A new Task. |