Package org.dspace.curate

In DSpace, "curation" refers to the application of one or more "tasks" to one or more model objects. There are two fundamental classes to consider:
CurationTask
Code to be applied to model objects. A task is invoked on a single object, and may analyze and/or modify it as required.
Curator
Applies tasks to model objects as requested. See this class for details of the order of application of tasks to objects.

Curation requests may be run immediately or queued for batch processing. See TaskQueue and its relatives, Curation and its relatives for more on queued curation.

Tasks may also be attached to a workflow step, so that a set of tasks is applied to each uninstalled Item which passes through that step. See XmlWorkflowCuratorService.

A task may return to the Curator a status code, a final status message, and an optional report character stream.

The Reporter classes absorb strings of text and preserve it in various ways. A Reporter is a simple Appendable and makes no assumptions about e.g. whether a string represents a complete line. If you want your report formatted, insert appropriate newlines and other whitespace as needed. Your tasks can emit marked-up text if you wish, but the stock Reporter implementations make no attempt to render it.

Tasks may be annotated to inform the Curator of special properties. See Distributive, Mutative, Suspendable etc.