org.ow2.bonita.facade
Interface RuntimeAPI

All Superinterfaces:
RuntimeReadOnlyAPI
All Known Implementing Classes:
RuntimeAPIImpl

public interface RuntimeAPI
extends RuntimeReadOnlyAPI

Main API responsible of workflow state change operations. Those operations concerns tasks, process instances and variables. Default states for tasks (aka manual activities), processes instances, activities and processes are:

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

Method Summary
 void deleteAllInstances(java.lang.String processId)
          This method is only dedicated for bonita unit tests!
 void deleteInstance(java.lang.String instanceId)
          This method is only dedicated for bonita unit tests!
 void finishTask(java.lang.String taskId)
          Finish the task.
 java.lang.String instantiateProcess(java.lang.String processId)
          Create an instance of the specified process and start the execution.
 java.lang.String instantiateProcess(java.lang.String processId, java.util.Map<java.lang.String,java.lang.Object> variables)
          create an instance of the specified process with the added variable map and start the execution.
 void resumeTask(java.lang.String taskId)
          Resume the task if the task has SUSPENDED state.
 void setVariable(java.lang.String instanceId, java.lang.String variableId, java.lang.Object variableValue)
          Search for variable with id variableId into instance with id instanceId and set the given value to the found variable.
 void setVariable(java.lang.String instanceId, java.lang.String activityId, java.lang.String variableId, java.lang.Object variableValue)
          Search for variable with id variableId into instance with id instanceId and within the activity with id activityId and set the given value to the found variable.
 void startTask(java.lang.String taskId)
          start the task.
 void suspendTask(java.lang.String taskId)
          Suspend the task if the task has EXECUTING state.
 
Methods inherited from interface org.ow2.bonita.facade.RuntimeReadOnlyAPI
getTaskList, getTaskList, getVariable, getVariable, getVariableDefinitions, getVariableDefinitions, getVariables, getVariables
 

Method Detail

instantiateProcess

java.lang.String instantiateProcess(java.lang.String processId)
                                    throws ProcessNotFoundException
Create 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:
processId - the process id.
Returns:
the id of the created instance.
Throws:
ProcessNotFoundException - if the process has not been found.
BonitaInternalException - if an exception occurs.

instantiateProcess

java.lang.String instantiateProcess(java.lang.String processId,
                                    java.util.Map<java.lang.String,java.lang.Object> variables)
                                    throws ProcessNotFoundException
create 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:
processId - the process id.
variables - variables added to the variables already set within the process definition.
Returns:
the id of the created instance.
Throws:
ProcessNotFoundException - if the process has not been found.
BonitaInternalException - if an exception occurs.

startTask

void startTask(java.lang.String taskId)
               throws TaskNotFoundException,
                      IllegalTaskStateException
start the task. If successful, this operation changes task state from READY to EXECUTING.

Parameters:
taskId - the task id.
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(java.lang.String taskId)
                throws TaskNotFoundException,
                       IllegalTaskStateException
Finish the task. If successful, this operation changes task state from EXECUTING to FINISHED.

Parameters:
taskId - the task id.
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(java.lang.String taskId)
                 throws TaskNotFoundException,
                        IllegalTaskStateException,
                        UnAuthorizedUserException
Suspend the task if the task has EXECUTING state.
If successful, this operation changes task state from EXECUTING to SUSPENDED.

Parameters:
taskId - the task id.
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.
UnAuthorizedUserException

resumeTask

void resumeTask(java.lang.String taskId)
                throws TaskNotFoundException,
                       IllegalTaskStateException,
                       UnAuthorizedUserException
Resume the task if the task has SUSPENDED state. If successful, this operation changes task state from SUSPENDED to EXECUTING.

Parameters:
taskId - the task id.
Throws:
TaskNotFoundException - if the task has not been found.
IllegalTaskStateException - if the state of the task has not SUSPENDED state.
UnAuthorizedUserException - if the user is not the user assigned to the task.
UnAuthorizedUserException - if task has not been assigned and the user is not in the list of candidates for the task.
BonitaInternalException - if an exception occurs.

setVariable

void setVariable(java.lang.String instanceId,
                 java.lang.String variableId,
                 java.lang.Object variableValue)
                 throws InstanceNotFoundException
Search for variable with id variableId into instance with id instanceId and set the given value to the found variable.
The field selectedValue can contain only one value from the possibleValues list field.

Parameters:
instanceId - the instance id.
variableId - the variable id.
variableValue - the variable value.
Throws:
InstanceNotFoundException - if the instance has not been found.
BonitaInternalException - if an exception occurs.

setVariable

void setVariable(java.lang.String instanceId,
                 java.lang.String activityId,
                 java.lang.String variableId,
                 java.lang.Object variableValue)
                 throws InstanceNotFoundException,
                        ActivityNotFoundException
Search for variable with id variableId into instance with id instanceId and within the activity with id activityId and set the given value to the found variable.
The field selectedValue can contain only one value from the possibleValues list field.

Parameters:
instanceId - the instance id.
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.
BonitaInternalException - if an exception occurs.

deleteInstance

void deleteInstance(java.lang.String instanceId)
This method is only dedicated for bonita unit tests!
Delete existing tasks from the instance with id instanceId from the task repository. Then delete the instance with id instanceId from the instance repository. Recorded data are currently not removed from the history or/and the history.

Parameters:
instanceId - the instance id.
Throws:
BonitaInternalException - if an exception occurs.

deleteAllInstances

void deleteAllInstances(java.lang.String processId)
This method is only dedicated for bonita unit tests!
Delete all instances created for the process with id processId from the instance repository. Recorded data are currently not removed from the history or/and the history.

Parameters:
processId - the process id.
Throws:
BonitaInternalException - if an exception occurs.