Class WrappingExecutorService
- java.lang.Object
-
- com.google.common.util.concurrent.WrappingExecutorService
-
- All Implemented Interfaces:
java.util.concurrent.Executor,java.util.concurrent.ExecutorService
- Direct Known Subclasses:
WrappingScheduledExecutorService
@GwtIncompatible abstract class WrappingExecutorService extends java.lang.Object implements java.util.concurrent.ExecutorService
An abstractExecutorServicethat allows subclasses to wrap tasks before they are submitted to the underlying executor.Note that task wrapping may occur even if the task is never executed.
For delegation without task-wrapping, see
ForwardingExecutorService.
-
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ExecutorServicedelegate
-
Constructor Summary
Constructors Modifier Constructor Description protectedWrappingExecutorService(java.util.concurrent.ExecutorService delegate)
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description booleanawaitTermination(long timeout, java.util.concurrent.TimeUnit unit)voidexecute(java.lang.Runnable command)<T> java.util.List<java.util.concurrent.Future<T>>invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)<T> java.util.List<java.util.concurrent.Future<T>>invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)<T> TinvokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)<T> TinvokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)booleanisShutdown()booleanisTerminated()voidshutdown()java.util.List<java.lang.Runnable>shutdownNow()java.util.concurrent.Future<?>submit(java.lang.Runnable task)<T> java.util.concurrent.Future<T>submit(java.lang.Runnable task, T result)<T> java.util.concurrent.Future<T>submit(java.util.concurrent.Callable<T> task)protected java.lang.RunnablewrapTask(java.lang.Runnable command)Wraps aRunnablefor submission to the underlying executor.protected abstract <T> java.util.concurrent.Callable<T>wrapTask(java.util.concurrent.Callable<T> callable)Wraps aCallablefor submission to the underlying executor.private <T> ImmutableList<java.util.concurrent.Callable<T>>wrapTasks(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)Wraps a collection of tasks.
-
-
-
Method Detail
-
wrapTask
protected abstract <T> java.util.concurrent.Callable<T> wrapTask(java.util.concurrent.Callable<T> callable)
Wraps aCallablefor submission to the underlying executor. This method is also applied to anyRunnablepassed to the default implementation ofwrapTask(Runnable).
-
wrapTask
protected java.lang.Runnable wrapTask(java.lang.Runnable command)
Wraps aRunnablefor submission to the underlying executor. The default implementation delegates towrapTask(Callable).
-
wrapTasks
private <T> ImmutableList<java.util.concurrent.Callable<T>> wrapTasks(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
Wraps a collection of tasks.- Throws:
java.lang.NullPointerException- if any element oftasksis null
-
execute
public final void execute(java.lang.Runnable command)
- Specified by:
executein interfacejava.util.concurrent.Executor
-
submit
public final <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public final java.util.concurrent.Future<?> submit(java.lang.Runnable task)
- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
submit
public final <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task, T result)- Specified by:
submitin interfacejava.util.concurrent.ExecutorService
-
invokeAll
public final <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) throws java.lang.InterruptedException- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
invokeAll
public final <T> java.util.List<java.util.concurrent.Future<T>> invokeAll(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
invokeAllin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
invokeAny
public final <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionException
-
invokeAny
public final <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException, java.util.concurrent.ExecutionException, java.util.concurrent.TimeoutException- Specified by:
invokeAnyin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedExceptionjava.util.concurrent.ExecutionExceptionjava.util.concurrent.TimeoutException
-
shutdown
public final void shutdown()
- Specified by:
shutdownin interfacejava.util.concurrent.ExecutorService
-
shutdownNow
public final java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNowin interfacejava.util.concurrent.ExecutorService
-
isShutdown
public final boolean isShutdown()
- Specified by:
isShutdownin interfacejava.util.concurrent.ExecutorService
-
isTerminated
public final boolean isTerminated()
- Specified by:
isTerminatedin interfacejava.util.concurrent.ExecutorService
-
awaitTermination
public final boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit) throws java.lang.InterruptedException- Specified by:
awaitTerminationin interfacejava.util.concurrent.ExecutorService- Throws:
java.lang.InterruptedException
-
-