Package com.logicaldoc.core.task
Class Task
- java.lang.Object
-
- com.logicaldoc.core.task.Task
-
- All Implemented Interfaces:
Runnable
- Direct Known Subclasses:
AbstractDocumentProcessor,DigestProcessor,IndexerTask,IndexOptimizer,PathCalculator,StatsCollector,TagsProcessor
public abstract class Task extends Object implements Runnable
A task is a long running process that is fired regularly- Since:
- 3.5.0
- Author:
- Marco Meschieri - LogicalDOC
-
-
Field Summary
Fields Modifier and Type Field Description static intSTATUS_IDLEstatic intSTATUS_RUNNINGstatic intSTATUS_STOPPING
-
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddTaskListener(TaskListener listener)intgetCompletionPercentage()The percentage of completion(1-100)ContextPropertiesgetConfig()StringgetName()longgetProgress()The current processing stepStringgetReportRecipients()TaskSchedulinggetScheduling()Scheduling policieslonggetSize()The the total size of the processing(number of units of work)intgetStatus()The task status.voidinterrupt()abstract booleanisConcurrent()Concrete implementations must override this method declaring if the task supports multiple instances running concurrently.abstract booleanisIndeterminate()Concrete implementations must override this method declaring if the task is indeterminate.booleanisInterrupted()booleanisInterruptRequested()booleanisRunning()Check if the task is currently runningbooleanisSendActivityReport()voidnotifyReport()voidremoveTaskListener(TaskListener listener)voidrun()voidsave()Saves the task configurationvoidsaveWork()Concrete implementations must insert here the code needed to save the elaboration state in a persistent storagevoidsetConfig(ContextProperties config)voidsetLockManager(LockManager lockManager)voidsetReportRecipients(String reportRecipients)voidsetSendActivityReport(boolean sendActivityReport)voidsetSender(EMailSender sender)voidsetSize(long size)voidsetSystemLoadMonitor(SystemLoadMonitor systemLoadMonitor)voidsetUserDao(UserDAO userDao)
-
-
-
Field Detail
-
STATUS_IDLE
public static final int STATUS_IDLE
- See Also:
- Constant Field Values
-
STATUS_RUNNING
public static final int STATUS_RUNNING
- See Also:
- Constant Field Values
-
STATUS_STOPPING
public static final int STATUS_STOPPING
- See Also:
- Constant Field Values
-
-
Constructor Detail
-
Task
public Task(String name)
-
-
Method Detail
-
getName
public String getName()
-
interrupt
public void interrupt()
-
isInterrupted
public boolean isInterrupted()
-
getSize
public long getSize()
The the total size of the processing(number of units of work)- Returns:
- total number of steps
-
setSize
public void setSize(long size)
-
getStatus
public int getStatus()
The task status.- Returns:
- the status
- See Also:
STATUS_IDLE,STATUS_RUNNING,STATUS_STOPPING
-
getProgress
public long getProgress()
The current processing step- Returns:
- the current step
-
getCompletionPercentage
public int getCompletionPercentage()
The percentage of completion(1-100)- Returns:
- a percentage(1-100)
-
isRunning
public boolean isRunning()
Check if the task is currently running- Returns:
- true if the task is running(
STATUS_RUNNING)
-
saveWork
public void saveWork()
Concrete implementations must insert here the code needed to save the elaboration state in a persistent storage
-
getScheduling
public TaskScheduling getScheduling()
Scheduling policies- Returns:
- the scheduling policies
-
addTaskListener
public void addTaskListener(TaskListener listener)
-
removeTaskListener
public void removeTaskListener(TaskListener listener)
-
notifyReport
public void notifyReport()
-
isIndeterminate
public abstract boolean isIndeterminate()
Concrete implementations must override this method declaring if the task is indeterminate. An indeterminate task is not able to compute it's time length- Returns:
- true if the task is indeterminate
-
isConcurrent
public abstract boolean isConcurrent()
Concrete implementations must override this method declaring if the task supports multiple instances running concurrently.- Returns:
- true if the task is concurrent
-
getReportRecipients
public String getReportRecipients()
-
getConfig
public ContextProperties getConfig()
-
setConfig
public void setConfig(ContextProperties config)
-
setSender
public void setSender(EMailSender sender)
-
setUserDao
public void setUserDao(UserDAO userDao)
-
save
public void save() throws IOException, ParseExceptionSaves the task configuration- Throws:
ParseException- raised if the configuration cannot be parsedIOException- raised if the configuration cannot be written
-
isSendActivityReport
public boolean isSendActivityReport()
-
setSendActivityReport
public void setSendActivityReport(boolean sendActivityReport)
-
setReportRecipients
public void setReportRecipients(String reportRecipients)
-
setLockManager
public void setLockManager(LockManager lockManager)
-
setSystemLoadMonitor
public void setSystemLoadMonitor(SystemLoadMonitor systemLoadMonitor)
-
isInterruptRequested
public boolean isInterruptRequested()
-
-