Class TrustedListenableFutureTask<V>
- java.lang.Object
-
- com.google.common.util.concurrent.internal.InternalFutureFailureAccess
-
- com.google.common.util.concurrent.AbstractFuture<V>
-
- com.google.common.util.concurrent.GwtFluentFutureCatchingSpecialization<V>
-
- com.google.common.util.concurrent.FluentFuture<V>
-
- com.google.common.util.concurrent.FluentFuture.TrustedFuture<V>
-
- com.google.common.util.concurrent.TrustedListenableFutureTask<V>
-
- All Implemented Interfaces:
AbstractFuture.Trusted<V>,ListenableFuture<V>,java.lang.Runnable,java.util.concurrent.Future<V>,java.util.concurrent.RunnableFuture<V>
class TrustedListenableFutureTask<V> extends FluentFuture.TrustedFuture<V> implements java.util.concurrent.RunnableFuture<V>
ARunnableFuturethat also implements theListenableFutureinterface.This should be used in preference to
ListenableFutureTaskwhen possible for performance reasons.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classTrustedListenableFutureTask.TrustedFutureInterruptibleAsyncTaskprivate classTrustedListenableFutureTask.TrustedFutureInterruptibleTask-
Nested classes/interfaces inherited from class com.google.common.util.concurrent.FluentFuture
FluentFuture.TrustedFuture<V>
-
Nested classes/interfaces inherited from class com.google.common.util.concurrent.AbstractFuture
AbstractFuture.Trusted<V>
-
-
Field Summary
Fields Modifier and Type Field Description private InterruptibleTask<?>task
-
Constructor Summary
Constructors Constructor Description TrustedListenableFutureTask(AsyncCallable<V> callable)TrustedListenableFutureTask(java.util.concurrent.Callable<V> callable)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidafterDone()Callback method that is called exactly once after the future is completed.(package private) static <V> TrustedListenableFutureTask<V>create(AsyncCallable<V> callable)(package private) static <V> TrustedListenableFutureTask<V>create(java.lang.Runnable runnable, V result)Creates aListenableFutureTaskthat will upon running, execute the givenRunnable, and arrange thatgetwill return the given result on successful completion.(package private) static <V> TrustedListenableFutureTask<V>create(java.util.concurrent.Callable<V> callable)protected java.lang.StringpendingToString()Provide a human-readable explanation of why this future has not yet completed.voidrun()-
Methods inherited from class com.google.common.util.concurrent.FluentFuture.TrustedFuture
addListener, cancel, get, get, isCancelled, isDone
-
Methods inherited from class com.google.common.util.concurrent.FluentFuture
addCallback, catching, catchingAsync, from, from, transform, transformAsync, withTimeout, withTimeout
-
Methods inherited from class com.google.common.util.concurrent.AbstractFuture
interruptTask, maybePropagateCancellationTo, set, setException, setFuture, toString, tryInternalFastPathGetFailure, wasInterrupted
-
-
-
-
Field Detail
-
task
private volatile InterruptibleTask<?> task
-
-
Constructor Detail
-
TrustedListenableFutureTask
TrustedListenableFutureTask(java.util.concurrent.Callable<V> callable)
-
TrustedListenableFutureTask
TrustedListenableFutureTask(AsyncCallable<V> callable)
-
-
Method Detail
-
create
static <V> TrustedListenableFutureTask<V> create(AsyncCallable<V> callable)
-
create
static <V> TrustedListenableFutureTask<V> create(java.util.concurrent.Callable<V> callable)
-
create
static <V> TrustedListenableFutureTask<V> create(java.lang.Runnable runnable, V result)
Creates aListenableFutureTaskthat will upon running, execute the givenRunnable, and arrange thatgetwill return the given result on successful completion.- Parameters:
runnable- the runnable taskresult- the result to return on successful completion. If you don't need a particular result, consider using constructions of the form:ListenableFuture<?> f = ListenableFutureTask.create(runnable, null)
-
run
public void run()
- Specified by:
runin interfacejava.lang.Runnable- Specified by:
runin interfacejava.util.concurrent.RunnableFuture<V>
-
afterDone
protected void afterDone()
Description copied from class:AbstractFutureCallback method that is called exactly once after the future is completed.If
AbstractFuture.interruptTask()is also run during completion,AbstractFuture.afterDone()runs after it.The default implementation of this method in
AbstractFuturedoes nothing. This is intended for very lightweight cleanup work, for example, timing statistics or clearing fields. If your task does anything heavier consider, just using a listener with an executor.- Overrides:
afterDonein classAbstractFuture<V>
-
pendingToString
protected java.lang.String pendingToString()
Description copied from class:AbstractFutureProvide a human-readable explanation of why this future has not yet completed.- Overrides:
pendingToStringin classAbstractFuture<V>- Returns:
- null if an explanation cannot be provided (e.g. because the future is done).
-
-