Package org.glassfish.grizzly.impl
Class ReadyFutureImpl<R>
- java.lang.Object
-
- org.glassfish.grizzly.impl.ReadyFutureImpl<R>
-
- All Implemented Interfaces:
Future<R>,Cacheable,GrizzlyFuture<R>,FutureImpl<R>
public final class ReadyFutureImpl<R> extends Object implements FutureImpl<R>
Futureimplementation with the specific unmodifiable result.- Author:
- Alexey Stashok
- See Also:
Future
-
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCompletionHandler(CompletionHandler<R> completionHandler)Adds aCompletionHandler, which will be notified once the asynchronous computation, represented by this Future, is complete.booleancancel(boolean mayInterruptIfRunning)Do nothing.static <R> ReadyFutureImpl<R>create()Construct cancelledFuture.static <R> ReadyFutureImpl<R>create(Throwable failure)Construct failedFuture.static <R> ReadyFutureImpl<R>create(R result)ConstructFuturewith the result.voidfailure(Throwable failure)Should not be called for ReadyFutureImplRget()Rget(long timeout, TimeUnit unit)RgetResult()Get current result value without any blocking.booleanisCancelled()booleanisDone()voidmarkForRecycle(boolean recycleResult)Mark GrizzlyFuture as recyclable, so once result will come - GrizzlyFuture object will be recycled and returned to a thread local object pool.voidrecycle()voidrecycle(boolean recycleResult)Recycle GrizzlyFuture now.voidresult(R result)Set the result value and notify about operation completion.voidsetResult(R result)Should not be called for ReadyFutureImpl
-
-
-
Field Detail
-
result
protected R result
-
-
Method Detail
-
create
public static <R> ReadyFutureImpl<R> create()
Construct cancelledFuture.
-
create
public static <R> ReadyFutureImpl<R> create(R result)
ConstructFuturewith the result.
-
create
public static <R> ReadyFutureImpl<R> create(Throwable failure)
Construct failedFuture.
-
addCompletionHandler
public void addCompletionHandler(CompletionHandler<R> completionHandler)
Adds aCompletionHandler, which will be notified once the asynchronous computation, represented by this Future, is complete.- Specified by:
addCompletionHandlerin interfaceGrizzlyFuture<R>- Parameters:
completionHandler-CompletionHandler
-
getResult
public R getResult()
Get current result value without any blocking.- Specified by:
getResultin interfaceFutureImpl<R>- Returns:
- current result value without any blocking.
-
setResult
public void setResult(R result)
Should not be called for ReadyFutureImpl
-
cancel
public boolean cancel(boolean mayInterruptIfRunning)
Do nothing.
-
isCancelled
public boolean isCancelled()
- Specified by:
isCancelledin interfaceFuture<R>
-
get
public R get() throws InterruptedException, ExecutionException
- Specified by:
getin interfaceFuture<R>- Throws:
InterruptedExceptionExecutionException
-
get
public R get(long timeout, TimeUnit unit) throws InterruptedException, ExecutionException, TimeoutException
- Specified by:
getin interfaceFuture<R>- Throws:
InterruptedExceptionExecutionExceptionTimeoutException
-
failure
public void failure(Throwable failure)
Should not be called for ReadyFutureImpl- Specified by:
failurein interfaceFutureImpl<R>
-
result
public void result(R result)
Description copied from interface:FutureImplSet the result value and notify about operation completion.- Specified by:
resultin interfaceFutureImpl<R>- Parameters:
result- the result value
-
markForRecycle
public void markForRecycle(boolean recycleResult)
Description copied from interface:GrizzlyFutureMark GrizzlyFuture as recyclable, so once result will come - GrizzlyFuture object will be recycled and returned to a thread local object pool. You can consider to use this method, if you're not interested in using this GrizzlyFuture object.- Specified by:
markForRecyclein interfaceGrizzlyFuture<R>- Parameters:
recycleResult- if true - the GrizzlyFuture result, if it support recyclable mechanism, will be also recycled together with this GrizzlyFuture object.
-
recycle
public void recycle(boolean recycleResult)
Description copied from interface:GrizzlyFutureRecycle GrizzlyFuture now. This method could be used, if you're not interested in using this GrizzlyFuture object, and you're sure this object is not used by any other application part.- Specified by:
recyclein interfaceGrizzlyFuture<R>- Parameters:
recycleResult- if true - the GrizzlyFuture result, if it support recyclable mechanism, will be also recycled together with this GrizzlyFuture object.
-
-