Package com.logicaldoc.core.task

# Class AbstractDocumentProcessor

java.lang.Object
com.logicaldoc.core.task.Task
com.logicaldoc.core.task.AbstractDocumentProcessor

All Implemented Interfaces:
  `Runnable`

Direct Known Subclasses:
  `DigestProcessor`, `IndexerTask`

public abstract class AbstractDocumentProcessor extends Task
A base implementation for those tasks that process documents

Since:
  8.8.3
Author:
  Marco Meschieri - LogicalDOC

## Field Summary

### Fields inherited from class com.logicaldoc.core.task.Task

`STATUS_IDLE, STATUS_RUNNING, STATUS_STOPPING`

## Method Summary

Modifier and Type
Method
Description
`void`
`interrupt()`
`boolean`
`isConcurrent()`
Concrete implementations must override this method declaring if the task supports multiple instances running concurrently.
`boolean`
`isIndeterminate()`
Concrete implementations must override this method declaring if the task is indeterminate.
`String`
`prepareReport(Locale locale)`
`void`
`runTask()`

### Methods inherited from class com.logicaldoc.core.task.Task

`addTaskListener, getCompletionPercentage, getConfig, getName, getProgress, getReportRecipients, getScheduling, getSize, getStatus, isInterrupted, isInterruptRequested, isRunning, isSendActivityReport, notifyReport, removeTaskListener, run, save, saveWork, setReportRecipients, setSendActivityReport, setSize`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

## Method Details

### runTask

public void runTask() throws TaskException

Throws:
  `TaskException`

### interrupt

public void interrupt()

Overrides:
  `interrupt` in class `Task`

### isIndeterminate

public boolean isIndeterminate()
Description copied from class: `Task`
Concrete implementations must override this method declaring if the task is indeterminate. An indeterminate task is not able to compute it's time length

Specified by:
  `isIndeterminate` in class `Task`
Returns:
  true if the task is indeterminate

### isConcurrent

public boolean isConcurrent()
Description copied from class: `Task`
Concrete implementations must override this method declaring if the task supports multiple instances running concurrently. tHIbernat

Specified by:
  `isConcurrent` in class `Task`
Returns:
  true if the task is concurrent

### prepareReport

public String prepareReport(Locale locale)