org.obe.spi.service
Interface InstanceRepository

All Superinterfaces:
WorkflowService

public interface InstanceRepository
extends WorkflowService

Provides transactional caching and persistence services for process instances. This includes process instances, workflow relevant data, activity instances, work items; also attributes for process instance, activity instance, and work items.

Author:
Adrian Price

Field Summary
static java.lang.String SERVICE_NAME
           
 
Method Summary
 ActivityInstance createActivityInstance(java.lang.String processDefinitionId, java.lang.String processInstanceId, java.lang.String activityDefinitionId, java.lang.String activityName, JoinInstance join, java.lang.String blockActivityInstanceId, PersistentIterator blockActivityIterator, int priority, int state, java.lang.String[] participants)
          Returns the specified activity instance.
 AttributeInstance createActivityInstanceAttribute(java.lang.String processInstanceId, java.lang.String activityInstanceId, java.lang.String attributeName, int attributeType, java.lang.Object attributeValue)
          Creates an activity instance attribute.
 ProcessInstance createProcessInstance(java.lang.String processDefinitionId, java.lang.String parentActivityInstanceId, java.lang.String processInstanceName, int priority, int state, java.util.Date createdDate, java.util.Date startedDate, java.lang.String[] participants)
          Creates a new process instance for the given process definition.
 AttributeInstance createProcessInstanceAttribute(java.lang.String processInstanceId, java.lang.String attributeName, int attributeType, java.lang.Object attributeValue)
          Creates a process instance attribute.
 WorkItem createWorkItem(java.lang.String processDefinitionId, java.lang.String processInstanceId, java.lang.String activityInstanceId, int toolIndex, int state, java.lang.String performer, java.lang.String participant)
          Creates a work item.
 AttributeInstance createWorkItemAttribute(java.lang.String processInstanceId, java.lang.String workItemId, java.lang.String attributeName, int attributeType, java.lang.Object attributeValue)
          Creates a work item attribute.
 int deleteAuditEntries(WMFilter filter)
          Deletes the audit entries matching user specified criteria.
 void deleteProcessInstance(java.lang.String processInstanceId)
          Permanently deletes the specified process instance.
 ActivityInstance findActivityInstance(java.lang.String activityInstanceId)
          Reads the specified activity instance.
 ActivityInstance findActivityInstance(java.lang.String processInstanceId, java.lang.String activityDefinitionId, java.lang.String blockActivityInstanceId)
          Reads the specified activity instance.
 AttributeInstance findActivityInstanceAttribute(java.lang.String processInstanceId, java.lang.String activityInstanceId, java.lang.String attributeName)
          Reads the specified activity attribute value.
 AttributeInstance[] findActivityInstanceAttributes(java.lang.String processDefinitionId, java.lang.String processInstanceId, java.lang.String activityDefinitionId, java.lang.String activityInstanceId, WMFilter filter, java.lang.String attributeName, boolean countFlag)
          Reads a set of activity instance attributes.
 ActivityInstance[] findActivityInstances(java.lang.String processDefinitionId, java.lang.String activityDefinitionId, WMFilter filter, boolean countFlag)
          Reads a list of activity instances.
 WMAAuditEntry[] findAuditEntries(WMFilter filter)
          Finds the audit entries matching user specified criteria.
 ProcessInstance findProcessInstance(java.lang.String processInstanceId)
          Gets the specified process instance.
 AttributeInstance findProcessInstanceAttribute(java.lang.String processInstanceId, java.lang.String attributeName)
          Reads the specified process attribute value.
 AttributeInstance[] findProcessInstanceAttributes(java.lang.String processDefinitionId, java.lang.String processInstanceId, WMFilter filter, java.lang.String attrName, boolean countFlag)
          Reads a list of process instance attributes.
 ProcessInstance[] findProcessInstances(java.lang.String processDefinitionId, WMFilter filter, boolean countFlag)
          Retrieves a list of process instances.
 WorkItem findWorkItem(java.lang.String processInstanceId, java.lang.String workItemId)
          Reads the specified work item.
 AttributeInstance findWorkItemAttribute(java.lang.String processInstanceId, java.lang.String workItemId, java.lang.String attributeName)
          Reads the specified work item attribute value.
 AttributeInstance[] findWorkItemAttributes(java.lang.String processInstanceId, java.lang.String workItemId, WMFilter filter, boolean countFlag)
          Reads a set of work item attributes.
 WorkItem[] findWorkItems(WMFilter filter, boolean countFlag)
          Reads a set of work items.
 void purge()
          Purges all data from the instance repository.
 
Methods inherited from interface org.obe.spi.WorkflowService
exit, getServiceManager, getServiceName, init
 

Field Detail

SERVICE_NAME

public static final java.lang.String SERVICE_NAME
See Also:
Constant Field Values
Method Detail

purge

public void purge()
           throws RepositoryException
Purges all data from the instance repository. WARNING! All process instances, workflow relevant data, activity instances and work items will be permanently deleted.

Throws:
RepositoryException

createProcessInstance

public ProcessInstance createProcessInstance(java.lang.String processDefinitionId,
                                             java.lang.String parentActivityInstanceId,
                                             java.lang.String processInstanceName,
                                             int priority,
                                             int state,
                                             java.util.Date createdDate,
                                             java.util.Date startedDate,
                                             java.lang.String[] participants)
                                      throws RepositoryException
Creates a new process instance for the given process definition.

Parameters:
processDefinitionId - The process definition ID.
parentActivityInstanceId - The ID of the parent activity instance, if any.
processInstanceName - The name of the process instance.
priority - Process instance priority.
state - The instance state, one of the integer values defined in WMProcessInstanceState.
createdDate - The creation date/time of the instance.
startedDate - The 'started' date/time for the instance. Should be null unless the state parameter is WMProcessInstanceState.OPEN_RUNNING.
participants - The list of process participants.
Returns:
The new process instance.
Throws:
RepositoryException - Workflow client exception.

findProcessInstance

public ProcessInstance findProcessInstance(java.lang.String processInstanceId)
                                    throws RepositoryException
Gets the specified process instance.

Parameters:
processInstanceId - The process instance id
Returns:
The process instance
Throws:
RepositoryException - Workflow client exception

findProcessInstances

public ProcessInstance[] findProcessInstances(java.lang.String processDefinitionId,
                                              WMFilter filter,
                                              boolean countFlag)
                                       throws RepositoryException
Retrieves a list of process instances.

Parameters:
processDefinitionId - The process definition Id, can be null>/code> to select from instances of any process definition.
filter - A Filter specification.
Returns:
An array of matching process instances.
Throws:
RepositoryException

deleteProcessInstance

public void deleteProcessInstance(java.lang.String processInstanceId)
                           throws RepositoryException
Permanently deletes the specified process instance. Implementations must cascade this delete to include all related ActivityInstance, WorkItem and AttributeInstance entities.

Parameters:
processInstanceId - The ID of the process instance to delete.
Throws:
RepositoryException

createProcessInstanceAttribute

public AttributeInstance createProcessInstanceAttribute(java.lang.String processInstanceId,
                                                        java.lang.String attributeName,
                                                        int attributeType,
                                                        java.lang.Object attributeValue)
                                                 throws RepositoryException
Creates a process instance attribute.

Parameters:
processInstanceId - The process instance id
attributeName - The attribute name
attributeType - The attribute type
attributeValue - The attribute value
Throws:
RepositoryException - Workflow client exception

findProcessInstanceAttribute

public AttributeInstance findProcessInstanceAttribute(java.lang.String processInstanceId,
                                                      java.lang.String attributeName)
                                               throws RepositoryException
Reads the specified process attribute value.

Parameters:
processInstanceId - The process instance id
attributeName - The attribute name
Returns:
The attribute
Throws:
RepositoryException - Workflow client exception

findProcessInstanceAttributes

public AttributeInstance[] findProcessInstanceAttributes(java.lang.String processDefinitionId,
                                                         java.lang.String processInstanceId,
                                                         WMFilter filter,
                                                         java.lang.String attrName,
                                                         boolean countFlag)
                                                  throws RepositoryException
Reads a list of process instance attributes.

Parameters:
processDefinitionId - The process definition id, can be null.
processInstanceId - The process instance id, can be null.
filter - The filter, can be null.
attrName - The attribute name, can be null.
countFlag - True to return count value
Returns:
The query handle
Throws:
RepositoryException - Workflow client exception

createActivityInstance

public ActivityInstance createActivityInstance(java.lang.String processDefinitionId,
                                               java.lang.String processInstanceId,
                                               java.lang.String activityDefinitionId,
                                               java.lang.String activityName,
                                               JoinInstance join,
                                               java.lang.String blockActivityInstanceId,
                                               PersistentIterator blockActivityIterator,
                                               int priority,
                                               int state,
                                               java.lang.String[] participants)
                                        throws RepositoryException
Returns the specified activity instance.

Parameters:
processDefinitionId - The process definition id.
processInstanceId - The process instance id.
activityDefinitionId - The activity definition id.
activityName - The name of the activity.
join - The activity's join (can be null).
blockActivityInstanceId - The block activity instance ID, or null if the activity is not defined within an activity set.
blockActivityIterator - An iterator for the block activity owned by the instance (can be null).
priority - Activity priority.
state - Activity state, one of the integer values defined in WMActivityInstanceState.
participants - The list of participants for this activity.
Returns:
The new activity instance.
Throws:
RepositoryException - Workflow client exception.

findActivityInstance

public ActivityInstance findActivityInstance(java.lang.String activityInstanceId)
                                      throws RepositoryException
Reads the specified activity instance.

Parameters:
activityInstanceId - The activity instance id.
Returns:
The activity instance.
Throws:
RepositoryException - Workflow client exception.

findActivityInstance

public ActivityInstance findActivityInstance(java.lang.String processInstanceId,
                                             java.lang.String activityDefinitionId,
                                             java.lang.String blockActivityInstanceId)
                                      throws RepositoryException
Reads the specified activity instance. This method takes either the activity definition ID or the activity instance ID.

Parameters:
processInstanceId - The process instance id.
activityDefinitionId - The activity definition id.
blockActivityInstanceId - The ID of the block activity instance to which the activity instance belongs.
Returns:
The activity instance.
Throws:
RepositoryException - Workflow client exception.

findActivityInstances

public ActivityInstance[] findActivityInstances(java.lang.String processDefinitionId,
                                                java.lang.String activityDefinitionId,
                                                WMFilter filter,
                                                boolean countFlag)
                                         throws RepositoryException
Reads a list of activity instances.

Parameters:
processDefinitionId - The process definition ID, can be null.
filter - A Filter specification.
Returns:
An array of matching activity instances.
Throws:
RepositoryException

createActivityInstanceAttribute

public AttributeInstance createActivityInstanceAttribute(java.lang.String processInstanceId,
                                                         java.lang.String activityInstanceId,
                                                         java.lang.String attributeName,
                                                         int attributeType,
                                                         java.lang.Object attributeValue)
                                                  throws RepositoryException
Creates an activity instance attribute.

Parameters:
processInstanceId - The process instance id
activityInstanceId - The activity instance id
attributeName - The attribute name
attributeType - The attribute type
attributeValue - The attribute value
Throws:
RepositoryException - Workflow client exception

findActivityInstanceAttribute

public AttributeInstance findActivityInstanceAttribute(java.lang.String processInstanceId,
                                                       java.lang.String activityInstanceId,
                                                       java.lang.String attributeName)
                                                throws RepositoryException
Reads the specified activity attribute value.

Parameters:
processInstanceId - The process instance id.
activityInstanceId - The activity instance id.
attributeName - The attribute name.
Returns:
The attribute.
Throws:
RepositoryException - Workflow client exception.

findActivityInstanceAttributes

public AttributeInstance[] findActivityInstanceAttributes(java.lang.String processDefinitionId,
                                                          java.lang.String processInstanceId,
                                                          java.lang.String activityDefinitionId,
                                                          java.lang.String activityInstanceId,
                                                          WMFilter filter,
                                                          java.lang.String attributeName,
                                                          boolean countFlag)
                                                   throws RepositoryException
Reads a set of activity instance attributes.

Parameters:
processInstanceId - The ID of the process instance.
activityInstanceId - The ID of the activity instance.
filter - A Filter specification.
Returns:
An array of matching activity instance attributes.
Throws:
RepositoryException

createWorkItem

public WorkItem createWorkItem(java.lang.String processDefinitionId,
                               java.lang.String processInstanceId,
                               java.lang.String activityInstanceId,
                               int toolIndex,
                               int state,
                               java.lang.String performer,
                               java.lang.String participant)
                        throws RepositoryException
Creates a work item.

Parameters:
processDefinitionId - The process definition id.
processInstanceId - The process instance id.
activityInstanceId - The activity instance id.
toolIndex - The ID of the associated tool.
state - The work item state, one of the integer values defined in WMWorkItemState.
participant - The name of the participant to whom the work item is assigned.
Returns:
The new work item.
Throws:
RepositoryException

findWorkItem

public WorkItem findWorkItem(java.lang.String processInstanceId,
                             java.lang.String workItemId)
                      throws RepositoryException
Reads the specified work item.

Parameters:
processInstanceId - The process instance id.
workItemId - The work item id.
Returns:
The work item.
Throws:
RepositoryException - Workflow client exception

findWorkItems

public WorkItem[] findWorkItems(WMFilter filter,
                                boolean countFlag)
                         throws RepositoryException
Reads a set of work items.

Parameters:
filter - A Filter specification.
Returns:
An array of matching work items.
Throws:
RepositoryException

createWorkItemAttribute

public AttributeInstance createWorkItemAttribute(java.lang.String processInstanceId,
                                                 java.lang.String workItemId,
                                                 java.lang.String attributeName,
                                                 int attributeType,
                                                 java.lang.Object attributeValue)
                                          throws RepositoryException
Creates a work item attribute.

Parameters:
processInstanceId - The process instance id
workItemId - The work item id
attributeName - The attribute name
attributeType - The attribute type
attributeValue - The attribute value
Throws:
RepositoryException - Workflow client exception

findWorkItemAttribute

public AttributeInstance findWorkItemAttribute(java.lang.String processInstanceId,
                                               java.lang.String workItemId,
                                               java.lang.String attributeName)
                                        throws RepositoryException
Reads the specified work item attribute value.

Parameters:
processInstanceId - The process instance id
workItemId - The work item id
attributeName - The attribute name
Returns:
The attribute
Throws:
RepositoryException - Workflow client exception

findWorkItemAttributes

public AttributeInstance[] findWorkItemAttributes(java.lang.String processInstanceId,
                                                  java.lang.String workItemId,
                                                  WMFilter filter,
                                                  boolean countFlag)
                                           throws RepositoryException
Reads a set of work item attributes.

Parameters:
filter - A Filter specification.
Returns:
An array of matching work item attributes.
Throws:
RepositoryException - Workflow client exception

findAuditEntries

public WMAAuditEntry[] findAuditEntries(WMFilter filter)
                                 throws RepositoryException
Finds the audit entries matching user specified criteria.

Parameters:
filter - Filter criteria.
Returns:
Matching audit entries.
Throws:
RepositoryException - If the filter type is unsupported.

deleteAuditEntries

public int deleteAuditEntries(WMFilter filter)
                       throws RepositoryException
Deletes the audit entries matching user specified criteria.

Parameters:
filter - Filter criteria.
Returns:
Count of audit entries deleted.
Throws:
RepositoryException - If the filter type is unsupported.


SourceForge.net Logo OBE-1.0 Copyright (c) 2002-2006 Adrian Price. All Rights Reserved.