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) voiddestroy()voidend(boolean isScopeComplete) ends this execution.voidExecution finished compensation.voidinvoked to notify the execution that a new activity instance is startedvoidexecuteActivity(PvmActivity activity) Executes theActivityBehaviorassociated 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.voidreturns the currentPvmActivityof 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 executionbooleanvoidInactivates this execution.voidCalled when an execution is interrupted.booleanisActive()returns whether this execution is currently active.booleanReturns whether this execution completed the parent scope.booleanreturns whether this execution is concurrent or not.booleanisEnded()returns whether this execution has ended or not.booleanreturns whether this execution is a process instance or not.booleanisScope()Returns whether this execution is a scope.voidinvoked to notify the execution that an activity instance is ended.voidleaveActivityViaTransition(PvmTransition outgoingTransition) voidleaveActivityViaTransitions(List<PvmTransition> outgoingTransitions, List<? extends ActivityExecution> joinedExecutions) Takes the given outgoing transitions, and potentially reusing the given list of executions that were previously joined.voidremove()voidsetActive(boolean isActive) makes this execution active or inactive.voidsetActivity(PvmActivity activity) voidvoidsetConcurrent(boolean isConcurrent) changes the concurrent indicator on this execution.voidsetEnded(boolean b) voidsetIgnoreAsync(boolean ignoreAsync) voidsetScope(boolean isScope) Changes whether this execution is a scope or notvoidbooleanMethods inherited from interface org.camunda.bpm.engine.delegate.BaseDelegateExecution
getBusinessKey, getEventName, getIdMethods inherited from interface org.camunda.bpm.engine.delegate.BpmnModelExecutionContext
getBpmnModelElementInstance, getBpmnModelInstanceMethods inherited from interface org.camunda.bpm.engine.delegate.DelegateExecution
createIncident, createIncident, getCurrentActivityId, getCurrentActivityName, getCurrentTransitionId, getParentId, getProcessBusinessKey, getProcessDefinitionId, getProcessInstance, getProcessInstanceId, getSuperExecution, getTenantId, isCanceled, resolveIncident, setProcessBusinessKey, setVariableMethods inherited from interface org.camunda.bpm.engine.delegate.ProcessEngineServicesAware
getProcessEngine, getProcessEngineServicesMethods 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 currentPvmActivityof 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:
getActivityInstanceIdin interfaceDelegateExecution
-
getParentActivityInstanceId
String getParentActivityInstanceId()return the Id of the parent activity instance currently executed by this execution- Specified by:
getParentActivityInstanceIdin 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- ThePvmProcessDefinitionof the subprocess.
-
createSubProcessInstance
PvmProcessInstance createSubProcessInstance(PvmProcessDefinition processDefinition, String businessKey) - Parameters:
processDefinition- ThePvmProcessDefinitionof the subprocess.businessKey- the business key of the process instance- See Also:
-
createSubProcessInstance
PvmProcessInstance createSubProcessInstance(PvmProcessDefinition processDefinition, String businessKey, String caseInstanceId) - Parameters:
processDefinition- ThePvmProcessDefinitionof 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.
Thisexecution will be the super execution of the created sub case instance.- Parameters:
caseDefinition- TheCmmnCaseDefinitionof the sub case instance.
-
createSubCaseInstance
Creates a new sub case instance.
Thisexecution will be the super execution of the created sub case instance.- Parameters:
caseDefinition- TheCmmnCaseDefinitionof 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 theActivityBehaviorassociated 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)
-