T - the type of value that the operation will produce.public interface AsyncCommand<T>
asynchronously or synchronously. When run
asynchronously, execution and idle timeouts must be applied by the calling code; they are not built in.
When the operation completes, it will return an object of type T. If T is Void, the operation
will return null on completion. Typically this means the operation uses some form of callback, allowing the
caller to process the results as they are produced rather than returning them on completion.
| Modifier and Type | Method and Description |
|---|---|
Future<T> |
start()
Starts the operation and returns a
Future, which can be used to cancel the operation or block until it
has finished. |
Command<T> |
synchronous()
Transforms this
AsyncCommand into a Command which may be called synchronously. |
@Nonnull Future<T> start()
Future, which can be used to cancel the operation or block until it
has finished.Future instance for the operation resultIllegalStateException - if this AsyncCommand has been transformed to synchronous()@Nonnull Command<T> synchronous()
AsyncCommand into a Command which may be called synchronously. Timeouts may be
set on the returned Command before it is called.
Once an AsyncCommand has been transformed for synchronous use, it may no longer be used
asynchronously.
Command for running the operation embodied by this AsyncCommand synchronouslyCopyright © 2019 Atlassian. All rights reserved.