org.ow2.bonita.facade
Interface RuntimeAPI

All Superinterfaces:
org.ow2.bonita.facade.remote.RemoteRuntimeAPI

public interface RuntimeAPI
extends org.ow2.bonita.facade.remote.RemoteRuntimeAPI

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(TaskUUID taskUUID)
          Launches the execution of both roleMapper and performerAssignment for the given task.
 void assignTask(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(TaskUUID taskUUID, java.lang.String actorId)
          Forces to assign the given task to the given actor id.
 void deleteAllProcessInstances(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(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(TaskUUID taskUUID, boolean taskAssign)
          Finishes the task.
 ProcessInstanceUUID instantiateProcess(ProcessDefinitionUUID processUUID)
          Creates an instance of the specified process and start the execution.
 ProcessInstanceUUID instantiateProcess(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(TaskUUID taskUUID, boolean taskAssign)
          Resumes the task if the task has SUSPENDED state.
 void setActivityInstanceVariable(ActivityInstanceUUID activityUUID, java.lang.String variableId, java.lang.Object variableValue)
          Searches for variable with the given activity UUID and variable Id.
 void setActivityInstanceVariable(ProcessInstanceUUID instanceUUID, java.lang.String activityId, java.lang.String variableId, java.lang.Object variableValue)
          Searches for variable with id variableId into instance with UUID processUUID and within the activity with id activityId.
 void setProcessInstanceVariable(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(ProcessInstanceUUID instanceUUID, java.lang.String activityId, java.lang.String variableId, java.lang.Object variableValue)
           Searches for variable with id variableId within the given activity instance with the given instanceUUID, activityId.
 void startTask(TaskUUID taskUUID, boolean assignTask)
          Starts the task.
 void suspendTask(TaskUUID taskUUID, boolean assignTask)
          Suspends the task if the task has EXECUTING state.
 

Method Detail

instantiateProcess

ProcessInstanceUUID instantiateProcess(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.

Specified by:
instantiateProcess in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
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

ProcessInstanceUUID instantiateProcess(ProcessDefinitionUUID processUUID,
                                       java.util.Map<java.lang.String,java.lang.Object> variables)
                                       throws ProcessNotFoundException
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.

Specified by:
instantiateProcess in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
processUUID - the process UUID.
variables - variables added to the variables already set within the process definition.
Returns:
the UUID of the created instance.
Throws:
ProcessNotFoundException - if the process has not been found.
BonitaInternalException - if an exception occurs.

startTask

void startTask(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.

Specified by:
startTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
taskUUID - the task UUID.
assignTask - TODO
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(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.

Specified by:
finishTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
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(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.

Specified by:
suspendTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
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(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.

Specified by:
resumeTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
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(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.

Specified by:
assignTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
taskUUID - the task UUID.
Throws:
TaskNotFoundException - if the task has not been found.
BonitaInternalException - if an other exception occurs.

assignTask

void assignTask(TaskUUID taskUUID,
                java.lang.String actorId)
                throws TaskNotFoundException
Forces to assign the given task to the given actor id.

Specified by:
assignTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
taskUUID - the task UUID.
actorId - the actor id.
Throws:
TaskNotFoundException - if the task has not been found.

assignTask

void assignTask(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.

Specified by:
assignTask in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
taskUUID - the task UUID.
candidates - the set of candidate actors.
Throws:
TaskNotFoundException - if the task has not been found.

setProcessInstanceVariable

void setProcessInstanceVariable(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.

Specified by:
setProcessInstanceVariable in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
instanceUUID - the instance UUID.
variableId - the variable id.
variableValue - the variable value.
Throws:
InstanceNotFoundException - if the instance has not been found.
VariableNotFoundException - if the variable has not been found.
BonitaInternalException - if an exception occurs.

setVariable

void setVariable(ProcessInstanceUUID instanceUUID,
                 java.lang.String activityId,
                 java.lang.String variableId,
                 java.lang.Object variableValue)
                 throws InstanceNotFoundException,
                        ActivityNotFoundException,
                        VariableNotFoundException,
                        AmbiguousActivityException

Searches for variable with id variableId within the given activity instance with the given instanceUUID, activityId.
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.

Specified by:
setVariable in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
instanceUUID - the ProcessInstanceUUID.
variableId - the variable id.
variableValue - the variable value.
Throws:
InstanceNotFoundException - if the instance has not been found.
VariableNotFoundException - if the variable has not been found.
AmbiguousActivityException
BonitaInternalException - if an exception occurs.
ActivityNotFoundException

setActivityInstanceVariable

void setActivityInstanceVariable(ProcessInstanceUUID instanceUUID,
                                 java.lang.String activityId,
                                 java.lang.String variableId,
                                 java.lang.Object variableValue)
                                 throws InstanceNotFoundException,
                                        ActivityNotFoundException,
                                        VariableNotFoundException,
                                        AmbiguousActivityException
Searches for variable with id variableId into instance with UUID processUUID and within the activity with id activityId.
If the activity variable is found, the given value is set.
The field selectedValue can contain only one value from the possibleValues list field.

Specified by:
setActivityInstanceVariable in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
instanceUUID - the instance UUID.
activityId - the activity id.
variableId - the variable id.
variableValue - the variable value.
Throws:
InstanceNotFoundException - if the instance has not been found.
ActivityNotFoundException - if the activity has not been found.
VariableNotFoundException - if the variable has not been found.
AmbiguousActivityException
BonitaInternalException - if an exception occurs.

setActivityInstanceVariable

void setActivityInstanceVariable(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.

Specified by:
setActivityInstanceVariable in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
activityUUID - the activity UUID.
variableId - the variable id.
variableValue - the variable value.
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(ProcessInstanceUUID instanceUUID)
                           throws InstanceNotFoundException
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.

Specified by:
deleteProcessInstance in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
instanceUUID - the instance UUID.
Throws:
InstanceNotFoundException - if if the instance has not been found.
BonitaInternalException - if an exception occurs.

deleteAllProcessInstances

void deleteAllProcessInstances(ProcessDefinitionUUID processUUID)
                               throws ProcessNotFoundException
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.

Specified by:
deleteAllProcessInstances in interface org.ow2.bonita.facade.remote.RemoteRuntimeAPI
Parameters:
processUUID - the process UUID.
Throws:
ProcessNotFoundException - if the process with the given UUID does not exists.
BonitaInternalException - if an exception occurs.


Copyright © 2008 OW2 Consortium. All Rights Reserved.