org.imixs.workflow
Interface WorkflowManager


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 dependet enviroment for concrete Workitems and Workfmodels.

Version:
1.0
Author:
Ralph Soika
See Also:
WorkflowKernel

Method Summary
 ItemCollection getWorkItem(java.lang.String uniqueid)
          Finds a Workitem by a defined uniuqeID ($uniqueID)
 java.util.Collection<ItemCollection> getWorkList(java.lang.String name)
          The method returns all workitems assigned to a specified username or role
 java.util.Collection<ItemCollection> getWorkListByRef(java.lang.String aref)
          This method returns all workitems assigned to another workitem by the Attribute $uniqueidRef.
 ItemCollection processWorkItem(ItemCollection workitem)
          This Method process a Workitem.
 void removeWorkItem(ItemCollection workitem)
          The method removes the provide Workitem form the persistence unit managed by the WorkflowManager implementation.
 

Method Detail

processWorkItem

ItemCollection processWorkItem(ItemCollection workitem)
                               throws AccessDeniedException,
                                      InvalidWorkitemException,
                                      ProcessingErrorException
This Method process a Workitem. The workitem provided by the method caller needs at least containing the valid attributes $ProcessID and $ActivityID (integer) to identify the current processEntity the worktiem belongs to and the concrete activtyEntity which should be processed by the wokflowManager implementation. If the workitem is new the method should create a new instance. The method is responsible to persist the worktiem after successfull processing. The method returns the workitem with additional workflow informations defined by the workfowManager Implementation. The Method throws an InvalidWorkitemException if the provided Workitem is invalid or the provided attributes $ProcessID and $ActivityID (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:
InvalidWorkitemException
AccessDeniedException
ProcessingErrorException

removeWorkItem

void removeWorkItem(ItemCollection workitem)
                    throws AccessDeniedException,
                           InvalidWorkitemException
The method removes the provide Workitem form the persistence unit managed by the WorkflowManager implementation. The Method throws an InvalidWorkitemException if the provided Workitem is invalid.

Parameters:
uniqueid - of the WorkItem to be removed
Throws:
InvalidWorkitemException
AccessDeniedException

getWorkItem

ItemCollection getWorkItem(java.lang.String uniqueid)
                           throws java.lang.Exception
Finds a Workitem by a defined uniuqeID ($uniqueID)

Parameters:
uniqueid -
Returns:
WorkItem
Throws:
java.lang.Exception

getWorkList

java.util.Collection<ItemCollection> getWorkList(java.lang.String name)
                                                 throws java.lang.Exception
The method returns all workitems assigned to a specified username or role

Parameters:
name - of user or group
Returns:
List of workitems
Throws:
java.lang.Exception

getWorkListByRef

java.util.Collection<ItemCollection> getWorkListByRef(java.lang.String aref)
                                                      throws java.lang.Exception
This method returns all workitems assigned to another workitem by the Attribute $uniqueidRef. A Worktitem which holds a reference to another workitem is a called subprocess or childprocess to the process it references to. This process which is referenced is called a parentProcess. By defining references process instances can be structured in hierarchy.

Parameters:
aref - A unique reference to another workitem inside a database
Returns:
List of workitems
Throws:
java.lang.Exception


Copyright © 2006-2010 Imixs Software Solutions GmbH. All Rights Reserved.