## com.google.common.util.concurrent
Class ForwardingExecutorService

    java.lang.Object
      com.google.common.collect.ForwardingObject
          com.google.common.util.concurrent.ForwardingExecutorService

All Implemented Interfaces:
  Executor, ExecutorService

Direct Known Subclasses:
  ForwardingListeningExecutorService

    public abstract class ForwardingExecutorService

extends ForwardingObject
implements 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
Author:
  Kurt Alfred Kluever

Constructor Summary
`protected` `ForwardingExecutorService()` Constructor for use by subclasses.

Method Summary
`boolean` `awaitTermination(long timeout, TimeUnit unit)`
`protected abstract ExecutorService` `delegate()` Returns the backing delegate instance that methods are forwarded to.
`void` `execute(Runnable command)`

`

`<T> List<Future<T>>`

`

`invokeAll(Collection<? extends Callable<T>> tasks)`

`

`<T> List<Future<T>>`

`

`invokeAll(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`

`

`<T> T`

`

`invokeAny(Collection<? extends Callable<T>> tasks)`

`

`<T> T`

`

`invokeAny(Collection<? extends Callable<T>> tasks, long timeout, TimeUnit unit)`

`boolean` `isShutdown()`
`boolean` `isTerminated()`
`void` `shutdown()`
`List<Runnable>` `shutdownNow()`

`

`<T> Future<T>`

`

`submit(Callable<T> task)`

`Future<?>` `submit(Runnable task)`

`

`<T> Future<T>`

`

`submit(Runnable task, T result)`

Methods inherited from class com.google.common.collect.ForwardingObject
`toString`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Constructor Detail

### ForwardingExecutorService

    protected ForwardingExecutorService()

  Constructor for use by subclasses.

Method Detail

### delegate

    protected abstract 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,
                                    TimeUnit unit)
                             throws InterruptedException

  Specified by:
    `awaitTermination` in interface `ExecutorService`
  Throws:
    `InterruptedException`

### invokeAll

    public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks)
                              throws InterruptedException

  Specified by:
    `invokeAll` in interface `ExecutorService`
  Throws:
    `InterruptedException`

### invokeAll

    public <T> List<Future<T>> invokeAll(Collection<? extends Callable<T>> tasks,
                                         long timeout,
                                         TimeUnit unit)
                              throws InterruptedException

  Specified by:
    `invokeAll` in interface `ExecutorService`
  Throws:
    `InterruptedException`

### invokeAny

    public <T> T invokeAny(Collection<? extends Callable<T>> tasks)
                throws InterruptedException,
                       ExecutionException

  Specified by:
    `invokeAny` in interface `ExecutorService`
  Throws:
    `InterruptedException`
    `ExecutionException`

### invokeAny

    public <T> T invokeAny(Collection<? extends Callable<T>> tasks,
                           long timeout,
                           TimeUnit unit)
                throws InterruptedException,
                       ExecutionException,
                       TimeoutException

  Specified by:
    `invokeAny` in interface `ExecutorService`
  Throws:
    `InterruptedException`
    `ExecutionException`
    `TimeoutException`

### isShutdown

    public boolean isShutdown()

  Specified by:
    `isShutdown` in interface `ExecutorService`

### isTerminated

    public boolean isTerminated()

  Specified by:
    `isTerminated` in interface `ExecutorService`

### shutdown

    public void shutdown()

  Specified by:
    `shutdown` in interface `ExecutorService`

### shutdownNow

    public List<Runnable> shutdownNow()

  Specified by:
    `shutdownNow` in interface `ExecutorService`

### execute

    public void execute(Runnable command)

  Specified by:
    `execute` in interface `Executor`

### submit

    public <T> Future<T> submit(Callable<T> task)

  Specified by:
    `submit` in interface `ExecutorService`

### submit

    public Future<?> submit(Runnable task)

  Specified by:
    `submit` in interface `ExecutorService`

### submit

    public <T> Future<T> submit(Runnable task,
                                T result)

  Specified by:
    `submit` in interface `ExecutorService`

Copyright © 2010-2012. All Rights Reserved.