|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.mirth.connect.server.userutil.Future<V>
public class Future<V>
A Future
represents the result of an asynchronous computation. Methods are provided to
check if the computation is complete, to wait for its completion, and to retrieve the result of
the computation. The result can only be retrieved using method get
when the computation
has completed, blocking if necessary until it is ready. Cancellation is performed by the
cancel
method. Additional methods are provided to determine if the task completed
normally or was cancelled. Once a computation has completed, the computation cannot be cancelled.
If you would like to use a Future
for the sake of cancellability but not provide a usable
result, you can declare types of the form Future<?>
and return null
as a result
of the underlying task.
Method Summary | |
---|---|
boolean |
cancel(boolean mayInterruptIfRunning)
Attempts to cancel execution of this task. |
V |
get()
Waits if necessary for the computation to complete, and then retrieves its result. |
V |
get(long timeoutInMillis)
Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available. |
V |
get(long timeout,
java.util.concurrent.TimeUnit unit)
Waits if necessary for at most the given time for the computation to complete, and then retrieves its result, if available. |
boolean |
isCancelled()
Returns true if this task was cancelled before it completed normally. |
boolean |
isDone()
Returns true if this task completed. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Method Detail |
---|
public boolean cancel(boolean mayInterruptIfRunning)
cancel
is called, this task should
never run. If the task has already started, then the mayInterruptIfRunning
parameter
determines whether the thread executing this task should be interrupted in an attempt to stop
the task.
After this method returns, subsequent calls to isDone()
will always return
true
. Subsequent calls to isCancelled()
will always return true
if
this method returned true
.
cancel
in interface java.util.concurrent.Future<V>
mayInterruptIfRunning
- true
if the thread executing this task should be interrupted; otherwise,
in-progress tasks are allowed to complete
false
if the task could not be cancelled, typically because it has already
completed normally; true
otherwisepublic boolean isCancelled()
true
if this task was cancelled before it completed normally.
isCancelled
in interface java.util.concurrent.Future<V>
true
if this task was cancelled before it completedpublic boolean isDone()
true
if this task completed.
Completion may be due to normal termination, an exception, or cancellation -- in all of these
cases, this method will return true
.
isDone
in interface java.util.concurrent.Future<V>
true
if this task completedpublic V get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
get
in interface java.util.concurrent.Future<V>
java.util.concurrent.CancellationException
- if the computation was cancelled
java.util.concurrent.ExecutionException
- if the computation threw an exception
java.lang.InterruptedException
- if the current thread was interrupted while waitingpublic V get(long timeoutInMillis) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
timeoutInMillis
- the maximum time to wait, in milliseconds
java.util.concurrent.CancellationException
- if the computation was cancelled
java.util.concurrent.ExecutionException
- if the computation threw an exception
java.lang.InterruptedException
- if the current thread was interrupted while waiting
java.util.concurrent.TimeoutException
- if the wait timed outget(long, TimeUnit)
public V get(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
get
in interface java.util.concurrent.Future<V>
timeout
- the maximum time to waitunit
- the time unit of the timeout argument
java.util.concurrent.CancellationException
- if the computation was cancelled
java.util.concurrent.ExecutionException
- if the computation threw an exception
java.lang.InterruptedException
- if the current thread was interrupted while waiting
java.util.concurrent.TimeoutException
- if the wait timed out
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |