Classes Involved Workflow system
Following are the different classes that may be invloved in the Workflow System.
WorkFlowInstanceHelper: This class is responsible for creating the actual workflow instance from a workflow template or configuration file. This class is also responsible for marshalling and unmarshalling the data from the workflow instance.
CommandDispacther: This class is responsible for dispatching a Command / CommandSet to a proper CommandProcessor / CommandProcessorDispatcher object. Implementation of this class relies on the existence of a specific workflow instance.
CommandProcessor: This class is the base implementation of a CommandProcessor object, which is responsible for processing a single Command object. This class should be extended by individual command processors to provide meaningful implementaiton to process a Command object.
CommandProcessorDispatcher: This is the base implementation of a CommandProcessorDispatcher object that is responsible for dispatching the Commands in a CommandSet to proper CommandProcessor objects.
SerialCommandProcessorDispatcher: This class is a sub class of CommandProcessorDispatcher class and responsible for dispatching the Commands of a CommandSet in a Serial manner.
ParallelCommandProcessorDispatcher: This class is a sub class of CommandProcessorDispatcher class and responsible for dispatching the Commands of a CommandSet in parallel manner. This class is also responsble for synchronizing all the parallel jobs.
CommandDispatchHelper: The class is a helper class that provides implementation for the methods used by the CommandDispatcher classes.
CommandProcessorFactory: This class is responsible for finding, instantiating and returning the appropriate CommandProcessor object to the caller class.
Apart from the above classes, there are other classes that are used by Castor to marshall and unmarshall data from the Workflow instances (XML documents). Castor uses a mapping file to determine the associations between an XML document and a given set of Java objects.
The Binding Classes are:
CommandSetRoot: This is a mapping class to the root element in the CommandSet schema document.
CommandSet: This is a mapping class to the CommandSet element in the CommandSet schema document. This class implements the interface ICommand.
Command: This class maps to the element Command in the schema dcoument. This class implements the interface ICommand.
CommandSetStatus: This class maps to the element CommandSetStatus of the schema document. This class extends the class Status.
CommandStatus: This class maps to the CommandStatus element of the schema document. This class extends the class Staus.
Status: It is the super class of both CommandStaus and CommandSetStatus classes.
Config: This class maps to the element Config of the schema document.
Param: This class maps to the element Param of the schema document.