Package org.imixs.workflow
Interface WorkflowManager
- All Known Implementing Classes:
WorkflowService
public interface WorkflowManager
The WorkflowManager is the general interface for a concrete implementation of
a workflow management system. The Interface defines the basic methods for
processing and encountering a workItem. The WorkflowManger instantiate a
WorkflowKernel, an supports the platform dependent environment for concrete
Workitems and Workflow models.
- Version:
- 1.1
- Author:
- Ralph Soika
- See Also:
-
Method Summary
Modifier and TypeMethodDescriptiongetWorkItem
(String uniqueID) returns a workItem by its uniqueID ($uniqueID)processWorkItem
(ItemCollection workitem) This method processes a workItem.void
removeWorkItem
(ItemCollection workitem) The method removes a Workitem form the persistence unit managed by the WorkflowManager implementation.
-
Method Details
-
processWorkItem
ItemCollection processWorkItem(ItemCollection workitem) throws AccessDeniedException, ProcessingErrorException, PluginException, ModelException This method processes a workItem. The workItem needs at least provide the valid attributes $taskID and $EventID (integer values) to identify the current processEntity the workItem belongs to and the concrete BPMN event which should be processed by the WorkflowManager implementation. If the workItem is new the method creates a new instance for the corresponding process.The method is responsible to persist the workItem after successfully processing. The method returns the workItem with additional workflow information defined by the WorkflowManager Implementation.
The Method throws an InvalidWorkitemException if the provided workItem is invalid or the provided attributes $taskID and $EventID (integer) did not match an valid modelEntity the workItem can be processed to.
- Parameters:
workitem
- a workItem instance which should be processed- Returns:
- the workItem instance after successful processing
- Throws:
AccessDeniedException
- - thrown if the user has insufficient access to update the workItemProcessingErrorException
- - thrown if the workitem could not be processed by the workflowKernelAdapterExceptionAdapterException
- - thrown if processing by an adapter failsPluginException
- - thrown if processing by a plugin failsModelException
-
getWorkItem
returns a workItem by its uniqueID ($uniqueID)- Parameters:
uniqueID
-- Returns:
- WorkItem
-
removeWorkItem
The method removes a Workitem form the persistence unit managed by the WorkflowManager implementation. The method throws an AccessDeniedException if the work item cannot be removed due to its state or user permissions.- Parameters:
uniqueId
- of the WorkItem to be removed- Throws:
AccessDeniedException
-