Package org.apache.http.concurrent
Class BasicFuture<T>
- java.lang.Object
-
- org.apache.http.concurrent.BasicFuture<T>
-
- Type Parameters:
T
- the future result type of an asynchronous operation.
- All Implemented Interfaces:
java.util.concurrent.Future<T>
,Cancellable
public class BasicFuture<T> extends java.lang.Object implements java.util.concurrent.Future<T>, Cancellable
Basic implementation of theFuture
interface.BasicFuture
can be put into a completed state by invoking any of the following methods:cancel()
,failed(Exception)
, orcompleted(Object)
.- Since:
- 4.2
-
-
Constructor Summary
Constructors Constructor Description BasicFuture(FutureCallback<T> callback)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
cancel()
Cancels the ongoing operation or process.boolean
cancel(boolean mayInterruptIfRunning)
boolean
completed(T result)
boolean
failed(java.lang.Exception exception)
T
get()
T
get(long timeout, java.util.concurrent.TimeUnit unit)
private T
getResult()
boolean
isCancelled()
boolean
isDone()
-
-
-
Field Detail
-
callback
private final FutureCallback<T> callback
-
completed
private volatile boolean completed
-
cancelled
private volatile boolean cancelled
-
result
private volatile T result
-
ex
private volatile java.lang.Exception ex
-
-
Constructor Detail
-
BasicFuture
public BasicFuture(FutureCallback<T> callback)
-
-
Method Detail
-
isCancelled
public boolean isCancelled()
- Specified by:
isCancelled
in interfacejava.util.concurrent.Future<T>
-
isDone
public boolean isDone()
- Specified by:
isDone
in interfacejava.util.concurrent.Future<T>
-
getResult
private T getResult() throws java.util.concurrent.ExecutionException
- Throws:
java.util.concurrent.ExecutionException
-
get
public T get() throws java.lang.InterruptedException, java.util.concurrent.ExecutionException
- Specified by:
get
in interfacejava.util.concurrent.Future<T>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
-
get
public T get(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException
- Specified by:
get
in interfacejava.util.concurrent.Future<T>
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
-
completed
public boolean completed(T result)
-
failed
public boolean failed(java.lang.Exception exception)
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
- Specified by:
cancel
in interfacejava.util.concurrent.Future<T>
-
cancel
public boolean cancel()
Description copied from interface:Cancellable
Cancels the ongoing operation or process.- Specified by:
cancel
in interfaceCancellable
- Returns:
true
if the operation or process has been cancelled as a result of this method call orfalse
if it has already been cancelled or not started.
-
-