org.ros.concurrent
Class SharedScheduledExecutorService

java.lang.Object
  extended by org.ros.concurrent.SharedScheduledExecutorService
All Implemented Interfaces:
java.util.concurrent.Executor, java.util.concurrent.ExecutorService, java.util.concurrent.ScheduledExecutorService

public class SharedScheduledExecutorService
extends java.lang.Object
implements java.util.concurrent.ScheduledExecutorService

A ScheduledExecutorService which cannot be shut down. This can be safely injected into instances which should not be in control of the ExecutorService's lifecycle.


Constructor Summary
SharedScheduledExecutorService(java.util.concurrent.ScheduledExecutorService wrapped)
           
 
Method Summary
 boolean awaitTermination(long timeout, java.util.concurrent.TimeUnit unit)
           
 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)
           
<T> T
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks)
           
<T> T
invokeAny(java.util.Collection<? extends java.util.concurrent.Callable<T>> tasks, long timeout, java.util.concurrent.TimeUnit unit)
           
 boolean isShutdown()
           
 boolean isTerminated()
           
<V> java.util.concurrent.ScheduledFuture<V>
schedule(java.util.concurrent.Callable<V> callable, long delay, java.util.concurrent.TimeUnit unit)
           
 java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable command, long delay, java.util.concurrent.TimeUnit unit)
           
 java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable command, long initialDelay, long period, java.util.concurrent.TimeUnit unit)
           
 java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable command, long initialDelay, long delay, java.util.concurrent.TimeUnit unit)
           
 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, toString, wait, wait, wait
 

Constructor Detail

SharedScheduledExecutorService

public SharedScheduledExecutorService(java.util.concurrent.ScheduledExecutorService wrapped)
Method Detail

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
See Also:
ExecutorService.awaitTermination(long, java.util.concurrent.TimeUnit)

execute

public void execute(java.lang.Runnable command)
Specified by:
execute in interface java.util.concurrent.Executor
Parameters:
command -
See Also:
Executor.execute(java.lang.Runnable)

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
See Also:
ExecutorService.invokeAll(java.util.Collection, long, java.util.concurrent.TimeUnit)

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
See Also:
ExecutorService.invokeAll(java.util.Collection)

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
See Also:
ExecutorService.invokeAny(java.util.Collection, long, java.util.concurrent.TimeUnit)

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
See Also:
ExecutorService.invokeAny(java.util.Collection)

isShutdown

public boolean isShutdown()
Specified by:
isShutdown in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.isShutdown()

isTerminated

public boolean isTerminated()
Specified by:
isTerminated in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.isTerminated()

schedule

public <V> java.util.concurrent.ScheduledFuture<V> schedule(java.util.concurrent.Callable<V> callable,
                                                            long delay,
                                                            java.util.concurrent.TimeUnit unit)
Specified by:
schedule in interface java.util.concurrent.ScheduledExecutorService
See Also:
ScheduledExecutorService.schedule(java.util.concurrent.Callable, long, java.util.concurrent.TimeUnit)

schedule

public java.util.concurrent.ScheduledFuture<?> schedule(java.lang.Runnable command,
                                                        long delay,
                                                        java.util.concurrent.TimeUnit unit)
Specified by:
schedule in interface java.util.concurrent.ScheduledExecutorService
See Also:
ScheduledExecutorService.schedule(java.lang.Runnable, long, java.util.concurrent.TimeUnit)

scheduleAtFixedRate

public java.util.concurrent.ScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable command,
                                                                   long initialDelay,
                                                                   long period,
                                                                   java.util.concurrent.TimeUnit unit)
Specified by:
scheduleAtFixedRate in interface java.util.concurrent.ScheduledExecutorService
See Also:
ScheduledExecutorService.scheduleAtFixedRate(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)

scheduleWithFixedDelay

public java.util.concurrent.ScheduledFuture<?> scheduleWithFixedDelay(java.lang.Runnable command,
                                                                      long initialDelay,
                                                                      long delay,
                                                                      java.util.concurrent.TimeUnit unit)
Specified by:
scheduleWithFixedDelay in interface java.util.concurrent.ScheduledExecutorService
See Also:
ScheduledExecutorService.scheduleWithFixedDelay(java.lang.Runnable, long, long, java.util.concurrent.TimeUnit)

shutdown

public void shutdown()
Specified by:
shutdown in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.shutdown()

shutdownNow

public java.util.List<java.lang.Runnable> shutdownNow()
Specified by:
shutdownNow in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.shutdownNow()

submit

public <T> java.util.concurrent.Future<T> submit(java.util.concurrent.Callable<T> task)
Specified by:
submit in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.submit(java.util.concurrent.Callable)

submit

public <T> java.util.concurrent.Future<T> submit(java.lang.Runnable task,
                                                 T result)
Specified by:
submit in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.submit(java.lang.Runnable, java.lang.Object)

submit

public java.util.concurrent.Future<?> submit(java.lang.Runnable task)
Specified by:
submit in interface java.util.concurrent.ExecutorService
See Also:
ExecutorService.submit(java.lang.Runnable)