Package org.flowable.engine.runtime
Interface ProcessInstanceBuilder
public interface ProcessInstanceBuilder
Helper for starting new ProcessInstance.
An instance can be obtained through
RuntimeService.createProcessInstanceBuilder()
.
processDefinitionId or processDefinitionKey should be set before calling start()
to start a process instance.- Author:
- Bassam Al-Sarori, Joram Barrez
-
Method Summary
Modifier and TypeMethodDescriptionSet the assignee of the process instance to be created to the given user id.businessKey
(String businessKey) Set the businessKey of process instancebusinessStatus
(String businessStatus) Set the businessStatus of process instancecallbackId
(String callbackId) Sets the callback identifier of the process instance.callbackType
(String callbackType) Sets the callback type of the process instance.Use default tenant as a fallback in the case when process definition was not found by key and tenant idformVariables
(Map<String, Object> formVariables, org.flowable.form.api.FormInfo formInfo, String formOutcome) Start the process instance with the given form variables from the givenformInfo
.messageName
(String messageName) Set the message name that needs to be used to look up the process definition that needs to be used to start the process instance.Set the name of process instanceAllows to set an outcome for a start form.overrideProcessDefinitionTenantId
(String tenantId) Indicator to override the tenant id of the process definition with the provided value.Set the owner of the process instance to be created to the given user id.predefineProcessInstanceId
(String processInstanceId) When starting a process instance from the CMMN engine process task, the process instance id needs to be known beforehand to store entity links and callback references before the process instance is started.processDefinitionId
(String processDefinitionId) Set the id of the process definitionprocessDefinitionKey
(String processDefinitionKey) Set the key of the process definition, latest version of the process definition with the given key.processDefinitionParentDeploymentId
(String parentDeploymentId) When looking up for a process definition by key it would first lookup for a process definition within the given parent deployment.referenceId
(String referenceId) Sets the reference identifier of the process instance.referenceType
(String referenceType) Sets the reference type of the process instance.stageInstanceId
(String stageInstanceId) Set the optional instance id of the stage this process instance belongs to, if it runs in the context of a CMMN case.start()
Start the process instanceStart the process instance asynchronouslystartEventId
(String startEventId) Set the start event in case of an event registry start event that is triggered to start the process instance.startFormVariable
(String variableName, Object value) Adds one variable from a start form to the process instance.startFormVariables
(Map<String, Object> startFormVariables) Adds variables from a start form to the process instance.Set the tenantId of to lookup the process definitiontransientVariable
(String variableName, Object value) Adds a transient variable to the process instancetransientVariables
(Map<String, Object> transientVariables) Sets the transient variablesAdds a variable to the process instanceSets the process variables
-
Method Details
-
processDefinitionId
Set the id of the process definition -
processDefinitionKey
Set the key of the process definition, latest version of the process definition with the given key. If processDefinitionId was set this will be ignored -
processDefinitionParentDeploymentId
When looking up for a process definition by key it would first lookup for a process definition within the given parent deployment. Then it would fallback to the latest process definition with the given key.This is typically needed when the ProcessInstanceBuilder is called for example from the case engine to start a process instance and it needs to look up the process definition in the same deployment as the case.
-
messageName
Set the message name that needs to be used to look up the process definition that needs to be used to start the process instance. -
startEventId
Set the start event in case of an event registry start event that is triggered to start the process instance. -
name
Set the name of process instance -
businessKey
Set the businessKey of process instance -
businessStatus
Set the businessStatus of process instance -
callbackId
Sets the callback identifier of the process instance. -
callbackType
Sets the callback type of the process instance. -
referenceId
Sets the reference identifier of the process instance. -
referenceType
Sets the reference type of the process instance. -
stageInstanceId
Set the optional instance id of the stage this process instance belongs to, if it runs in the context of a CMMN case. -
tenantId
Set the tenantId of to lookup the process definition -
overrideProcessDefinitionTenantId
Indicator to override the tenant id of the process definition with the provided value. The tenantId to lookup the process definition should still be provided if needed. -
predefineProcessInstanceId
When starting a process instance from the CMMN engine process task, the process instance id needs to be known beforehand to store entity links and callback references before the process instance is started. -
owner
Set the owner of the process instance to be created to the given user id.- Parameters:
userId
- the id of the user to become the owner of the process instance- Returns:
- the process instance builder for method chaining
-
assignee
Set the assignee of the process instance to be created to the given user id.- Parameters:
userId
- the id of the user to become the owner of the process instance- Returns:
- the process instance builder for method chaining
-
variables
Sets the process variables -
variable
Adds a variable to the process instance -
transientVariables
Sets the transient variables -
transientVariable
Adds a transient variable to the process instance -
startFormVariables
Adds variables from a start form to the process instance. -
startFormVariable
Adds one variable from a start form to the process instance. -
outcome
Allows to set an outcome for a start form. -
formVariables
ProcessInstanceBuilder formVariables(Map<String, Object> formVariables, org.flowable.form.api.FormInfo formInfo, String formOutcome) Start the process instance with the given form variables from the givenformInfo
. This is different thanstartFormVariables(Map)
and it can be used in addition to that. -
fallbackToDefaultTenant
ProcessInstanceBuilder fallbackToDefaultTenant()Use default tenant as a fallback in the case when process definition was not found by key and tenant id -
start
ProcessInstance start()Start the process instance- Throws:
org.flowable.common.engine.api.FlowableIllegalArgumentException
- if processDefinitionKey and processDefinitionId are nullorg.flowable.common.engine.api.FlowableObjectNotFoundException
- when no process definition is deployed with the given processDefinitionKey or processDefinitionId
-
startAsync
ProcessInstance startAsync()Start the process instance asynchronously- Throws:
org.flowable.common.engine.api.FlowableIllegalArgumentException
- if processDefinitionKey and processDefinitionId are nullorg.flowable.common.engine.api.FlowableObjectNotFoundException
- when no process definition is deployed with the given processDefinitionKey or processDefinitionId
-