Interface ActivityExecution
- All Superinterfaces:
BaseDelegateExecution
,BpmnModelExecutionContext
,DelegateExecution
,ProcessEngineServicesAware
,VariableScope
- All Known Implementing Classes:
ExecutionEntity
,ExecutionImpl
,PvmExecutionImpl
- Author:
- Tom Baeyens, Joram Barrez, Daniel Meyer, Falko Menge
-
Method Summary
Modifier and TypeMethodDescriptionReturns a mapping from scope activities to scope executions for all scopes that are ancestors of the activity currently executed by this execution.creates a new execution.createSubCaseInstance
(CmmnCaseDefinition caseDefinition) Creates a new sub case instance.createSubCaseInstance
(CmmnCaseDefinition caseDefinition, String businessKey) Creates a new sub case instance.createSubProcessInstance
(PvmProcessDefinition processDefinition) creates a new sub process instance.createSubProcessInstance
(PvmProcessDefinition processDefinition, String businessKey) createSubProcessInstance
(PvmProcessDefinition processDefinition, String businessKey, String caseInstanceId) void
destroy()
void
end
(boolean isScopeComplete) ends this execution.void
Execution finished compensation.void
invoked to notify the execution that a new activity instance is startedvoid
executeActivity
(PvmActivity activity) Executes theActivityBehavior
associated with the given activity.findExecutionForFlowScope
(PvmScope targetScope) Assumption: the current execution is active and executing an activity (getActivity()
is not null).findInactiveChildExecutions
(PvmActivity activity) findInactiveConcurrentExecutions
(PvmActivity activity) Retrieves all executions which are concurrent and inactive at the given activity.void
returns the currentPvmActivity
of the execution.return the Id of the activity instance currently executed by this executionList<? extends ActivityExecution>
returns the list of execution of which this execution the parent of.An activity which is to be started next.List<? extends ActivityExecution>
returns child executions that are not event scope executions.returns the parent of this execution, or null if there no parent.return the Id of the parent activity instance currently executed by this executionboolean
void
Inactivates this execution.void
Called when an execution is interrupted.boolean
isActive()
returns whether this execution is currently active.boolean
Returns whether this execution completed the parent scope.boolean
returns whether this execution is concurrent or not.boolean
isEnded()
returns whether this execution has ended or not.boolean
returns whether this execution is a process instance or not.boolean
isScope()
Returns whether this execution is a scope.void
invoked to notify the execution that an activity instance is ended.void
leaveActivityViaTransition
(PvmTransition outgoingTransition) void
leaveActivityViaTransitions
(List<PvmTransition> outgoingTransitions, List<? extends ActivityExecution> joinedExecutions) Takes the given outgoing transitions, and potentially reusing the given list of executions that were previously joined.void
remove()
void
setActive
(boolean isActive) makes this execution active or inactive.void
setActivity
(PvmActivity activity) void
void
setConcurrent
(boolean isConcurrent) changes the concurrent indicator on this execution.void
setEnded
(boolean b) void
setIgnoreAsync
(boolean ignoreAsync) void
setScope
(boolean isScope) Changes whether this execution is a scope or notvoid
boolean
Methods inherited from interface org.camunda.bpm.engine.delegate.BaseDelegateExecution
getBusinessKey, getEventName, getId
Methods inherited from interface org.camunda.bpm.engine.delegate.BpmnModelExecutionContext
getBpmnModelElementInstance, getBpmnModelInstance
Methods inherited from interface org.camunda.bpm.engine.delegate.DelegateExecution
createIncident, createIncident, getCurrentActivityId, getCurrentActivityName, getCurrentTransitionId, getParentId, getProcessBusinessKey, getProcessDefinitionId, getProcessInstance, getProcessInstanceId, getSuperExecution, getTenantId, isCanceled, resolveIncident, setProcessBusinessKey, setVariable
Methods inherited from interface org.camunda.bpm.engine.delegate.ProcessEngineServicesAware
getProcessEngine, getProcessEngineServices
Methods inherited from interface org.camunda.bpm.engine.delegate.VariableScope
getVariable, getVariableLocal, getVariableLocalTyped, getVariableLocalTyped, getVariableNames, getVariableNamesLocal, getVariables, getVariableScopeKey, getVariablesLocal, getVariablesLocalTyped, getVariablesLocalTyped, getVariablesTyped, getVariablesTyped, getVariableTyped, getVariableTyped, hasVariable, hasVariableLocal, hasVariables, hasVariablesLocal, removeVariable, removeVariableLocal, removeVariables, removeVariables, removeVariablesLocal, removeVariablesLocal, setVariable, setVariableLocal, setVariables, setVariablesLocal
-
Method Details
-
getActivity
PvmActivity getActivity()returns the currentPvmActivity
of the execution. -
enterActivityInstance
void enterActivityInstance()invoked to notify the execution that a new activity instance is started -
leaveActivityInstance
void leaveActivityInstance()invoked to notify the execution that an activity instance is ended. -
setActivityInstanceId
-
getActivityInstanceId
String getActivityInstanceId()return the Id of the activity instance currently executed by this execution- Specified by:
getActivityInstanceId
in interfaceDelegateExecution
-
getParentActivityInstanceId
String getParentActivityInstanceId()return the Id of the parent activity instance currently executed by this execution- Specified by:
getParentActivityInstanceId
in interfaceDelegateExecution
-
createExecution
ActivityExecution createExecution()creates a new execution. This execution will be the parent of the newly created execution. properties processDefinition, processInstance and activity will be initialized. -
createSubProcessInstance
creates a new sub process instance. The current execution will be the super execution of the created execution.- Parameters:
processDefinition
- ThePvmProcessDefinition
of the subprocess.
-
createSubProcessInstance
PvmProcessInstance createSubProcessInstance(PvmProcessDefinition processDefinition, String businessKey) - Parameters:
processDefinition
- ThePvmProcessDefinition
of the subprocess.businessKey
- the business key of the process instance- See Also:
-
createSubProcessInstance
PvmProcessInstance createSubProcessInstance(PvmProcessDefinition processDefinition, String businessKey, String caseInstanceId) - Parameters:
processDefinition
- ThePvmProcessDefinition
of the subprocess.businessKey
- the business key of the process instancecaseInstanceId
- the case instance id of the process instance- See Also:
-
createSubCaseInstance
Creates a new sub case instance.
This
execution will be the super execution of the created sub case instance.- Parameters:
caseDefinition
- TheCmmnCaseDefinition
of the sub case instance.
-
createSubCaseInstance
Creates a new sub case instance.
This
execution will be the super execution of the created sub case instance.- Parameters:
caseDefinition
- TheCmmnCaseDefinition
of the sub case instance.businessKey
- The businessKey to be set on sub case instance.
-
getParent
ActivityExecution getParent()returns the parent of this execution, or null if there no parent. -
getExecutions
List<? extends ActivityExecution> getExecutions()returns the list of execution of which this execution the parent of. This is a copy of the actual list, so a modification has no direct effect. -
getNonEventScopeExecutions
List<? extends ActivityExecution> getNonEventScopeExecutions()returns child executions that are not event scope executions. -
hasChildren
boolean hasChildren()- Returns:
- true if this execution has child executions (event scope executions or not)
-
end
void end(boolean isScopeComplete) ends this execution. -
endCompensation
void endCompensation()Execution finished compensation. Removes this execution and notifies listeners. -
setActive
void setActive(boolean isActive) makes this execution active or inactive. -
isActive
boolean isActive()returns whether this execution is currently active. -
isEnded
boolean isEnded()returns whether this execution has ended or not. -
setConcurrent
void setConcurrent(boolean isConcurrent) changes the concurrent indicator on this execution. -
isConcurrent
boolean isConcurrent()returns whether this execution is concurrent or not. -
isProcessInstanceExecution
boolean isProcessInstanceExecution()returns whether this execution is a process instance or not. -
inactivate
void inactivate()Inactivates this execution. This is useful for example in a join: the execution still exists, but it is not longer active. -
isScope
boolean isScope()Returns whether this execution is a scope. -
setScope
void setScope(boolean isScope) Changes whether this execution is a scope or not -
isCompleteScope
boolean isCompleteScope()Returns whether this execution completed the parent scope. -
findInactiveConcurrentExecutions
Retrieves all executions which are concurrent and inactive at the given activity. -
findInactiveChildExecutions
-
leaveActivityViaTransitions
void leaveActivityViaTransitions(List<PvmTransition> outgoingTransitions, List<? extends ActivityExecution> joinedExecutions) Takes the given outgoing transitions, and potentially reusing the given list of executions that were previously joined. -
leaveActivityViaTransition
-
executeActivity
Executes theActivityBehavior
associated with the given activity. -
interrupt
Called when an execution is interrupted. This will remove all associated entities such as event subscriptions, jobs, ... -
getNextActivity
PvmActivity getNextActivity()An activity which is to be started next. -
remove
void remove() -
destroy
void destroy() -
signal
-
setActivity
-
tryPruneLastConcurrentChild
boolean tryPruneLastConcurrentChild() -
forceUpdate
void forceUpdate() -
getTransition
TransitionImpl getTransition() -
findExecutionForFlowScope
Assumption: the current execution is active and executing an activity (getActivity()
is not null). For a given target scope, this method returns the scope execution.- Parameters:
targetScope
- scope activity or process definition for which the scope execution should be found; must be an ancestor of the execution's current activity- Returns:
-
createActivityExecutionMapping
Map<ScopeImpl,PvmExecutionImpl> createActivityExecutionMapping()Returns a mapping from scope activities to scope executions for all scopes that are ancestors of the activity currently executed by this execution. Assumption: the current execution is active and executing an activity (getActivity()
is not null). -
setEnded
void setEnded(boolean b) -
setIgnoreAsync
void setIgnoreAsync(boolean ignoreAsync)
-