public abstract class AbstractTask extends java.lang.Object implements Task
Task.TaskStateModel
Constructor and Description |
---|
AbstractTask(java.util.UUID id) |
Modifier and Type | Method and Description |
---|---|
protected void |
applyTaskStateModel(Task.TaskStateModel model)
Can be overridden by sub classes to receive the state model before the task is resumed.
|
void |
cancel(long timeoutMS)
When called, the task should stop as quickly as possible.
|
protected abstract void |
doTaskWork(TaskContext context)
Should execute the work of the task.
|
protected TaskContext |
getCurrentContext() |
java.util.UUID |
getId() |
protected LoggerEx |
getLogger() |
protected abstract java.lang.String |
getLoggerName() |
protected java.util.Optional<Task.TaskStateModel> |
getTaskStateModel()
Can be overridded by sub tasks to provide a state model when the task is suspended.
|
protected boolean |
isStopped() |
void |
resume(Task.TaskStateModel state) |
void |
run(TaskContext context)
Executes the task.
|
java.util.Optional<Task.TaskStateModel> |
suspend(long timeoutMS)
When called, the task should stop as quickly as possible.
|
protected abstract java.lang.String getLoggerName()
protected LoggerEx getLogger()
protected TaskContext getCurrentContext()
protected boolean isStopped()
public final void run(TaskContext context) throws java.lang.Exception
Task
public java.util.Optional<Task.TaskStateModel> suspend(long timeoutMS) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
Task
public void resume(Task.TaskStateModel state)
public void cancel(long timeoutMS) throws java.util.concurrent.TimeoutException, java.lang.InterruptedException
Task
protected java.util.Optional<Task.TaskStateModel> getTaskStateModel()
protected void applyTaskStateModel(Task.TaskStateModel model)
protected abstract void doTaskWork(TaskContext context) throws java.lang.Exception
java.lang.Exception