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 Details

    • processWorkItem

      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 workItem
      ProcessingErrorException - - thrown if the workitem could not be processed by the workflowKernel
      AdapterExceptionAdapterException - - thrown if processing by an adapter fails
      PluginException - - thrown if processing by a plugin fails
      ModelException
    • getWorkItem

      ItemCollection getWorkItem(String uniqueID)
      returns a workItem by its uniqueID ($uniqueID)
      Parameters:
      uniqueID -
      Returns:
      WorkItem
    • removeWorkItem

      void removeWorkItem(ItemCollection workitem) throws AccessDeniedException
      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