Class AbstractTaskExecutorService

java.lang.Object
org.jtrim2.executor.AbstractTaskExecutor
org.jtrim2.executor.AbstractTaskExecutorService
All Implemented Interfaces:
Executor, TaskExecutor, TaskExecutorService
Direct Known Subclasses:
AbstractTerminateNotifierTaskExecutorService

public abstract class AbstractTaskExecutorService extends AbstractTaskExecutor implements TaskExecutorService
Defines a convenient abstract base class for TaskExecutorService implementations.

AbstractTaskExecutorService extends AbstractTaskExecutor with automatically canceling the task if the executor was shut down, so implementations does not need to check for shut down.

  • Constructor Details

    • AbstractTaskExecutorService

      public AbstractTaskExecutorService()
  • Method Details

    • executeFunction

      public <V> CompletionStage<V> executeFunction(CancellationToken cancelToken, CancelableFunction<? extends V> function)
      Executes the function at some time in the future. When and on what thread, the function is to be executed is completely implementation dependent. Implementations may choose to execute tasks later on a separate thread or synchronously in the calling thread at the discretion of the implementation.
      Specified by:
      executeFunction in interface TaskExecutor
      Overrides:
      executeFunction in class AbstractTaskExecutor
      Type Parameters:
      V - the type of the result of the submitted function
      Parameters:
      cancelToken - the CancellationToken which is to be checked if the submitted task is to be canceled. If this CancellationToken signals a cancellation request, this TaskExecutor may choose to not even attempt to execute the submitted task. This argument may not be null. When the task cannot be canceled, use the static Cancellation.UNCANCELABLE_TOKEN for this argument (even in this case, the TaskExecutor may be able to cancel the task, if it was not submitted for execution).
      function - the function to be executed by this TaskExecutor. This argument cannot be null.
      Returns:
      the CompletionStage which can be used to execute tasks after the completion of the submitted function and process the result of the submitted function. This method never returns null.
      See Also: