/**@class java.util.concurrent.AbstractExecutorService implements java.util.concurrent.ExecutorService @extends java.lang.Object Provides default implementations of {@link java.util.concurrent.ExecutorService} execution methods. This class implements the {@code submit}, {@code invokeAny} and {@code invokeAll} methods using a {@link java.util.concurrent.RunnableFuture} returned by {@code newTaskFor}, which defaults to the {@link java.util.concurrent.FutureTask} class provided in this package. For example, the implementation of {@code submit(Runnable)} creates an associated {@code RunnableFuture} that is executed and returned. Subclasses may override the {@code newTaskFor} methods to return {@code RunnableFuture} implementations other than {@code FutureTask}. <p><b>Extension example</b>. Here is a sketch of a class that customizes {@link java.util.concurrent.ThreadPoolExecutor} to use a {@code CustomTask} class instead of the default {@code FutureTask}: <pre> {@code public class CustomThreadPoolExecutor extends ThreadPoolExecutor { static class CustomTask<V> implements RunnableFuture<V> {...} protected <V> RunnableFuture<V> newTaskFor(Callable<V> c) { return new CustomTask<V>(c); } protected <V> RunnableFuture<V> newTaskFor(Runnable r, V v) { return new CustomTask<V>(r, v); } // ... add constructors, etc. }}</pre> @since 1.5 @author Doug Lea */ var AbstractExecutorService = { /** @throws RejectedExecutionException {@inheritDoc} @throws NullPointerException {@inheritDoc} */ submit : function( ) {}, /** @throws RejectedExecutionException {@inheritDoc} @throws NullPointerException {@inheritDoc} */ submit : function( ) {}, /** @throws RejectedExecutionException {@inheritDoc} @throws NullPointerException {@inheritDoc} */ submit : function( ) {}, /** */ invokeAny : function( ) {}, /** */ invokeAny : function( ) {}, /** */ invokeAll : function( ) {}, /** */ invokeAll : function( ) {}, };