com.google.common.util.concurrent
Class ForwardingExecutorService
java.lang.Object
com.google.common.collect.ForwardingObject
com.google.common.util.concurrent.ForwardingExecutorService
- All Implemented Interfaces:
- java.util.concurrent.Executor, java.util.concurrent.ExecutorService
- Direct Known Subclasses:
- ForwardingListeningExecutorService
public abstract class ForwardingExecutorService
- extends ForwardingObject
- implements java.util.concurrent.ExecutorService
An executor service which forwards all its method calls to another executor
service. Subclasses should override one or more methods to modify the
behavior of the backing executor service as desired per the decorator pattern.
- Since:
- 10.0
Method Summary |
boolean |
awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit)
|
protected abstract java.util.concurrent.ExecutorService |
delegate()
Returns the backing delegate instance that methods are forwarded to. |
void |
execute(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)
|
|
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
|
|
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks,
long timeout,
java.util.concurrent.TimeUnit unit)
|
boolean |
isShutdown()
|
boolean |
isTerminated()
|
void |
shutdown()
|
java.util.List<java.lang.Runnable> |
shutdownNow()
|
<T> java.util.concurrent.Future<T> |
|
submit(java.util.concurrent.Callable<T> task)
|
java.util.concurrent.Future<?> |
submit(java.lang.Runnable task)
|
<T> java.util.concurrent.Future<T> |
|
submit(java.lang.Runnable task,
T result)
|
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
ForwardingExecutorService
protected ForwardingExecutorService()
- Constructor for use by subclasses.
delegate
protected abstract java.util.concurrent.ExecutorService delegate()
- Description copied from class:
ForwardingObject
- Returns the backing delegate instance that methods are forwarded to.
Abstract subclasses generally override this method with an abstract method
that has a more specific return type, such as
ForwardingSet.delegate()
. Concrete subclasses override this method to supply
the instance being decorated.
- Specified by:
delegate
in class ForwardingObject
awaitTermination
public boolean awaitTermination(long timeout,
java.util.concurrent.TimeUnit unit)
throws java.lang.InterruptedException
- Specified by:
awaitTermination
in interface java.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
invokeAll
public <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:
invokeAll
in interface java.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
invokeAll
public <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:
invokeAll
in interface java.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
invokeAny
public <T> T invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
throws java.lang.InterruptedException,
java.util.concurrent.ExecutionException
- Specified by:
invokeAny
in interface java.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
invokeAny
public <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:
invokeAny
in interface java.util.concurrent.ExecutorService
- Throws:
java.lang.InterruptedException
java.util.concurrent.ExecutionException
java.util.concurrent.TimeoutException
isShutdown
public boolean isShutdown()
- Specified by:
isShutdown
in interface java.util.concurrent.ExecutorService
isTerminated
public boolean isTerminated()
- Specified by:
isTerminated
in interface java.util.concurrent.ExecutorService
shutdown
public void shutdown()
- Specified by:
shutdown
in interface java.util.concurrent.ExecutorService
shutdownNow
public java.util.List<java.lang.Runnable> shutdownNow()
- Specified by:
shutdownNow
in interface java.util.concurrent.ExecutorService
execute
public void execute(java.lang.Runnable command)
- Specified by:
execute
in interface java.util.concurrent.Executor
submit
public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
- Specified by:
submit
in interface java.util.concurrent.ExecutorService
submit
public java.util.concurrent.Future<?> submit(java.lang.Runnable task)
- Specified by:
submit
in interface java.util.concurrent.ExecutorService
submit
public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task,
T result)
- Specified by:
submit
in interface java.util.concurrent.ExecutorService