org.ow2.bonita.facade
Interface RuntimeAPI


public interface RuntimeAPI

To manage process, process instance and task life cycle operations as well as to set/add/update variables within activity or instance. Default states for process, processes instances, tasks (aka manual activities) are:

Author:
Marc Blachon, Guillaume Porcher, Charles Souillard, Miguel Valdes, Pierre Vigneras
See Also:
TxHook

Method Summary
 void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID)
          Launches the execution of both roleMapper and performerAssignment for the given task.
 void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, java.util.Set<java.lang.String> candidates)
          Forces to replace the candidates set of the given task by the given candidates set.
 void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, java.lang.String actorId)
          Forces to assign the given task to the given actor id.
 void cancelProcessInstance(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID)
          Cancel the process instance with the given instance UUID.
 void deleteAllProcessInstances(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID)
          Deletes all runtime objects for all instances created with the given process UUID and delete also all there recorded data from the journal.
 void deleteProcessInstance(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID)
          Deletes all runtime objects for the process instance with the given instance UUID and delete also recorded data from the journal.
 void finishTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, boolean taskAssign)
          Finishes the task.
 org.ow2.bonita.facade.uuid.ProcessInstanceUUID instantiateProcess(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID)
          Creates an instance of the specified process and start the execution.
 org.ow2.bonita.facade.uuid.ProcessInstanceUUID instantiateProcess(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID, java.util.Map<java.lang.String,java.lang.Object> variables)
          Creates an instance of the specified process with the added variable map and start the execution.
 void resumeTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, boolean taskAssign)
          Resumes the task if the task has SUSPENDED state.
 void setActivityInstanceVariable(org.ow2.bonita.facade.uuid.ActivityInstanceUUID activityUUID, java.lang.String variableId, java.lang.Object variableValue)
          Searches for variable with the given activity UUID and variable Id.
 void setProcessInstanceVariable(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID, java.lang.String variableId, java.lang.Object variableValue)
          Searches for variable with id variableId within the given process instance with ProcessInstanceUUID instanceUUID.
 void setVariable(org.ow2.bonita.facade.uuid.ActivityInstanceUUID activityUUID, java.lang.String variableId, java.lang.Object variableValue)
           Searches for variable with id variableId within the given activity instance with the given UUID.
 void startTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, boolean assignTask)
          Starts the task.
 void suspendTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID, boolean assignTask)
          Suspends the task if the task has EXECUTING state.
 void unassignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID)
          If this task had a userId set, set it to null.
 

Method Detail

instantiateProcess

org.ow2.bonita.facade.uuid.ProcessInstanceUUID instantiateProcess(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID)
                                                                  throws ProcessNotFoundException
Creates an instance of the specified process and start the execution. returned instance has STARTED state. If the first activity has StartMode=manual then a task has been created. If the first activity has StartMode=automatic then the automatic behavior of the activity has been started.

Parameters:
processUUID - the process UUID.
Returns:
the UUID of the created instance.
Throws:
ProcessNotFoundException - if the process has not been found.
BonitaInternalException - if an exception occurs.

instantiateProcess

org.ow2.bonita.facade.uuid.ProcessInstanceUUID instantiateProcess(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID,
                                                                  java.util.Map<java.lang.String,java.lang.Object> variables)
                                                                  throws ProcessNotFoundException,
                                                                         VariableNotFoundException
Creates an instance of the specified process with the added variable map and start the execution. returned instance has STARTED state. If the first activity has StartMode=manual then a task has been created. If the first activity has StartMode=automatic then the automatic behavior of the activity has been started.

Parameters:
processUUID - the process UUID.
variables - variables added to the variables already set within the process definition the variable object can be: an Enumeration, a plain String, a Boolean, a Date, a Long or a Double.
Returns:
the UUID of the created instance.
Throws:
ProcessNotFoundException - if the process has not been found.
BonitaInternalException - if an exception occurs.
VariableNotFoundException

startTask

void startTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
               boolean assignTask)
               throws TaskNotFoundException,
                      IllegalTaskStateException
Starts the task. If successful, this operation changes task state from READY to EXECUTING.
If the boolean assignTask is true the task is also assigned to the logged user otherwise the assignment of the task is not affected by this operation.

Parameters:
taskUUID - the task UUID.
assignTask - true to assign the task to the logged user; false to don't assign the task.
Throws:
TaskNotFoundException - if the task has not been found.
IllegalTaskStateException - if the state of the task has not READY state.
BonitaInternalException - if an exception occurs.

finishTask

void finishTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
                boolean taskAssign)
                throws TaskNotFoundException,
                       IllegalTaskStateException
Finishes the task. If successful, this operation changes task state from EXECUTING to FINISHED.
If the boolean assignTask is true the task is also assigned to the logged user otherwise the assignment of the task is not affected by this operation.

Parameters:
taskUUID - the task UUID.
Throws:
TaskNotFoundException - if the task has not been found.
IllegalTaskStateException - if the state of the task has not EXECUTING state.
BonitaInternalException - if an exception occurs.

suspendTask

void suspendTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
                 boolean assignTask)
                 throws TaskNotFoundException,
                        IllegalTaskStateException
Suspends the task if the task has EXECUTING state.
If successful, this operation changes task state from EXECUTING to SUSPENDED.
If the boolean assignTask is true the task is also assigned to the logged user otherwise the assignment of the task is not affected by this operation.

Parameters:
taskUUID - the task UUID.
Throws:
TaskNotFoundException - if the task has not been found.
IllegalTaskStateException - if the state of the task has not either READY or EXECUTING state.
BonitaInternalException - if an exception occurs.

resumeTask

void resumeTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
                boolean taskAssign)
                throws TaskNotFoundException,
                       IllegalTaskStateException
Resumes the task if the task has SUSPENDED state. If successful, this operation changes task state from SUSPENDED to EXECUTING.
If the boolean assignTask is true the task is also assigned to the logged user otherwise the assignment of the task is not affected by this operation.

Parameters:
taskUUID - the task UUID.
Throws:
TaskNotFoundException - if the task has not been found.
IllegalTaskStateException - if the state of the task has not SUSPENDED state.
BonitaInternalException - if an other exception occurs.

assignTask

void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID)
                throws TaskNotFoundException
Launches the execution of both roleMapper and performerAssignment for the given task.
If a roleMapper has been defined within the participant referenced by the performer of the task, it is executed.
If a performerAssignment has been defined within the activity of the task it is also executed.

Parameters:
taskUUID - the task UUID.
Throws:
TaskNotFoundException - if the task has not been found.
BonitaInternalException - if an other exception occurs.

assignTask

void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
                java.lang.String actorId)
                throws TaskNotFoundException
Forces to assign the given task to the given actor id. If a set of candidates was already set, this method doesn't update it.

Parameters:
taskUUID - the task UUID.
actorId - the actor id.
Throws:
TaskNotFoundException - if the task has not been found.

assignTask

void assignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID,
                java.util.Set<java.lang.String> candidates)
                throws TaskNotFoundException
Forces to replace the candidates set of the given task by the given candidates set. If a userId was already set, this method doesn't update it.

Parameters:
taskUUID - the task UUID.
candidates - the set of candidate actors.
Throws:
TaskNotFoundException - if the task has not been found.

unassignTask

void unassignTask(org.ow2.bonita.facade.uuid.TaskUUID taskUUID)
                  throws TaskNotFoundException
If this task had a userId set, set it to null. If a set of candidates was already set, this method doesn't update it.

Parameters:
taskUUID - the task UUID.
candidates - the set of candidate actors.
Throws:
TaskNotFoundException - if the task has not been found.

setProcessInstanceVariable

void setProcessInstanceVariable(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID,
                                java.lang.String variableId,
                                java.lang.Object variableValue)
                                throws InstanceNotFoundException,
                                       VariableNotFoundException
Searches for variable with id variableId within the given process instance with ProcessInstanceUUID instanceUUID.
If the variable is found, the given value is set.
The field selectedValue of Enumeration type can contain only one value from the possibleValues list field.

Parameters:
instanceUUID - the instance UUID.
variableId - the variable id.
variableValue - the variable value (can be: an Enumeration, a plain String, a Boolean, a Date, a Long or a Double).
Throws:
InstanceNotFoundException - if the instance has not been found.
VariableNotFoundException - if the variable has not been found.
BonitaInternalException - if an exception occurs.

cancelProcessInstance

void cancelProcessInstance(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID)
                           throws InstanceNotFoundException,
                                  UncancellableInstanceException
Cancel the process instance with the given instance UUID. If the instance represented by the given instanceUUID has a parentInstance, then UncancellableInstanceException is thrown.

Parameters:
instanceUUID - the instance UUID.
Throws:
InstanceNotFoundException - if if the instance has not been found.
BonitaInternalException - if an exception occurs.
UncancellableInstanceException

setVariable

void setVariable(org.ow2.bonita.facade.uuid.ActivityInstanceUUID activityUUID,
                 java.lang.String variableId,
                 java.lang.Object variableValue)
                 throws ActivityNotFoundException,
                        VariableNotFoundException

Searches for variable with id variableId within the given activity instance with the given UUID.
If the variable is found within the activity, the given value is set.
If the variable is not found within the activity the search is performed within the process instance.
If the variable is found within the process instance, the given value is set.

The field selectedValue of Enumeration type can contain only one value from the possibleValues list field.

Parameters:
activityUUID - the activity UUID.
variableId - the variable id.
variableValue - the variable value (can be: an Enumeration, a plain String, a Boolean, a Date, a Long or a Double).
Throws:
VariableNotFoundException - if the variable has not been found.
BonitaInternalException - if an exception occurs.
ActivityNotFoundException

setActivityInstanceVariable

void setActivityInstanceVariable(org.ow2.bonita.facade.uuid.ActivityInstanceUUID activityUUID,
                                 java.lang.String variableId,
                                 java.lang.Object variableValue)
                                 throws ActivityNotFoundException,
                                        VariableNotFoundException
Searches for variable with the given activity UUID and variable Id.
If the activity variable is found, the given value is set.
The field selectedValue can contain only one value from the possibleValues list field.

Parameters:
activityUUID - the activity UUID.
variableId - the variable id.
variableValue - the variable value(can be: an Enumeration, a plain String, a Boolean, a Date, a Long or a Double).
Throws:
ActivityNotFoundException - if the activity has not been found.
VariableNotFoundException - if the variable has not been found.
BonitaInternalException - if an exception occurs.

deleteProcessInstance

void deleteProcessInstance(org.ow2.bonita.facade.uuid.ProcessInstanceUUID instanceUUID)
                           throws InstanceNotFoundException,
                                  UndeletableInstanceException
Deletes all runtime objects for the process instance with the given instance UUID and delete also recorded data from the journal. If this instance was not found in the journal, then the archived instance is deleted from history. If the instance represented by the given instanceUUID has a parentInstance, then UndeletableInstanceException is thrown.

Parameters:
instanceUUID - the instance UUID.
Throws:
InstanceNotFoundException - if if the instance has not been found.
BonitaInternalException - if an exception occurs.
UndeletableInstanceException

deleteAllProcessInstances

void deleteAllProcessInstances(org.ow2.bonita.facade.uuid.ProcessDefinitionUUID processUUID)
                               throws ProcessNotFoundException,
                                      UndeletableInstanceException
Deletes all runtime objects for all instances created with the given process UUID and delete also all there recorded data from the journal. If instances some instances of this process were not found in the journal, then the archived instances are deleted from history.

Parameters:
processUUID - the process UUID.
Throws:
ProcessNotFoundException - if the process with the given UUID does not exists.
BonitaInternalException - if an exception occurs.
UndeletableInstanceException


Copyright © 2009 OW2 Consortium. All Rights Reserved.