Class ExecutionEntity
- java.lang.Object
-
- org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope
-
- org.camunda.bpm.engine.impl.core.instance.CoreExecution
-
- org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl
-
- org.camunda.bpm.engine.impl.persistence.entity.ExecutionEntity
-
- All Implemented Interfaces:
java.io.Serializable
,BaseDelegateExecution
,BpmnModelExecutionContext
,DelegateExecution
,ProcessEngineServicesAware
,VariableScope
,VariableEventDispatcher
,VariableStore.VariablesProvider<VariableInstanceEntity>
,DbEntity
,HasDbReferences
,HasDbRevision
,ActivityExecution
,PvmExecution
,PvmProcessInstance
,Execution
,ProcessInstance
public class ExecutionEntity extends PvmExecutionImpl implements Execution, ProcessInstance, DbEntity, HasDbRevision, HasDbReferences, VariableStore.VariablesProvider<VariableInstanceEntity>
- Author:
- Tom Baeyens, Daniel Meyer, Falko Menge
- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
activityId
persisted reference to the current position in the diagram within thePvmExecutionImpl.processDefinition
.protected java.lang.String
activityName
The name of the current activity positionprotected int
cachedEntityState
static int
EVENT_SUBSCRIPTIONS_STATE_BIT
protected java.util.List<EventSubscriptionEntity>
eventSubscriptions
protected java.util.List<ExecutionObserver>
executionObservers
Contains observers which are observe the execution.protected java.util.List<ExecutionEntity>
executions
nested executions representing scopes or concurrent pathsstatic int
EXTERNAL_TASKS_BIT
protected java.util.List<ExternalTaskEntity>
externalTasks
static int
INCIDENT_STATE_BIT
protected java.util.List<IncidentEntity>
incidents
protected java.util.List<JobEntity>
jobs
static int
JOBS_STATE_BIT
protected static EnginePersistenceLogger
LOG
protected ExecutionEntity
parent
the parent executionprotected java.lang.String
parentId
persisted reference to the parent of this execution.protected java.lang.String
processDefinitionId
persisted reference to the processDefinition.protected ExecutionEntity
processInstance
the process instance.protected java.lang.String
processInstanceId
persisted reference to the process instance.protected java.util.List<VariableInstanceLifecycleListener<VariableInstanceEntity>>
registeredVariableListeners
protected int
revision
protected java.lang.String
rootProcessInstanceId
persisted reference to the root process instance.protected boolean
shouldQueryForSubCaseInstance
protected boolean
shouldQueryForSubprocessInstance
static int
SUB_CASE_INSTANCE_STATE_BIT
static int
SUB_PROCESS_INSTANCE_STATE_BIT
protected CaseExecutionEntity
subCaseInstance
reference to a subcaseinstance, not-null if currently subcase is started from this executionprotected ExecutionEntity
subProcessInstance
reference to a subprocessinstance, not-null if currently subprocess is started from this executionprotected CaseExecutionEntity
superCaseExecution
super case execution, not-null if this execution is part of a case executionprotected java.lang.String
superCaseExecutionId
persisted reference to the super case execution of this executionprotected ExecutionEntity
superExecution
super execution, not-null if this execution is part of a subprocessprotected java.lang.String
superExecutionId
persisted reference to the super execution of this executionprotected int
suspensionState
protected java.util.List<TaskEntity>
tasks
static int
TASKS_STATE_BIT
static int
VARIABLES_STATE_BIT
protected VariableStore<VariableInstanceEntity>
variableStore
-
Fields inherited from class org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl
activity, activityInstanceEndListenersFailed, activityInstanceId, activityInstanceState, caseInstanceId, delayedEvents, deleteReason, deleteRoot, externallyTerminated, ignoreAsync, isActive, isConcurrent, isEnded, isEventScope, isRemoved, isScope, isStarting, nextActivity, preserveScope, processDefinition, replacedBy, scopeInstantiationContext, sequenceCounter, transition, transitionsToTake
-
Fields inherited from class org.camunda.bpm.engine.impl.core.instance.CoreExecution
businessKey, businessKeyWithoutCascade, eventName, eventSource, id, listenerIndex, skipCustomListeners, skipIoMapping, skipSubprocesses, tenantId
-
Fields inherited from class org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope
cachedElContext
-
-
Constructor Summary
Constructors Constructor Description ExecutionEntity()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addEventSubscription(EventSubscriptionEntity eventSubscriptionEntity)
void
addExecutionObserver(ExecutionObserver observer)
void
addExternalTask(ExternalTaskEntity externalTask)
void
addIncident(IncidentEntity incident)
void
addJob(JobEntity jobEntity)
void
addTask(TaskEntity taskEntity)
void
addVariableInternal(VariableInstanceEntity variable)
void
addVariableListener(VariableInstanceLifecycleListener<VariableInstanceEntity> listener)
protected void
clearExecution()
ExecutionEntity
createExecution()
creates a new execution.protected static ExecutionEntity
createNewExecution()
CaseExecutionEntity
createSubCaseInstance(CmmnCaseDefinition caseDefinition)
Creates a new sub case instance.CaseExecutionEntity
createSubCaseInstance(CmmnCaseDefinition caseDefinition, java.lang.String businessKey)
Creates a new sub case instance.ExecutionEntity
createSubProcessInstance(PvmProcessDefinition processDefinition, java.lang.String businessKey, java.lang.String caseInstanceId)
protected void
createTimerInstances(java.util.Collection<TimerDeclarationImpl> timerDeclarations)
void
destroy(boolean alwaysSkipIoMappings)
Method used for destroying a scope in a way that the execution can be removed afterwards.void
dispatchEvent(VariableEvent variableEvent)
protected void
ensureActivityInitialized()
must be called before the activity member field or getActivity() is calledprotected void
ensureEventSubscriptionsInitialized()
protected void
ensureExecutionsInitialized()
protected void
ensureExecutionTreeInitialized()
Fetch all the executions inside the same process instance as list and then reconstruct the complete execution tree.protected void
ensureExternalTasksInitialized()
protected void
ensureIncidentsInitialized()
protected void
ensureJobsInitialized()
protected void
ensureNotSuspended()
protected void
ensureParentInitialized()
protected void
ensureProcessDefinitionInitialized()
for setting the process definition, this setter must be used as subclasses can overrideprotected void
ensureProcessInstanceInitialized()
protected void
ensureSubCaseInstanceInitialized()
protected void
ensureSubProcessInstanceInitialized()
protected void
ensureSuperCaseExecutionInitialized()
protected void
ensureSuperExecutionInitialized()
protected void
ensureTasksInitialized()
void
fireHistoricActivityInstanceUpdate()
void
fireHistoricProcessStartEvent()
void
forceUpdate()
protected java.lang.String
generateActivityInstanceId(java.lang.String activityId)
generates an activity instance idActivityImpl
getActivity()
ensures initialization and returns the activityjava.lang.String
getActivityId()
FlowElement
getBpmnModelElementInstance()
Returns the currently executed Element in the BPMN Model.BpmnModelInstance
getBpmnModelInstance()
Returns theBpmnModelInstance
for the currently executed Bpmn Modelint
getCachedEntityState()
int
getCachedEntityStateRaw()
java.util.List<EventSubscriptionEntity>
getCompensateEventSubscriptions()
java.util.List<EventSubscriptionEntity>
getCompensateEventSubscriptions(java.lang.String activityId)
java.lang.String
getCurrentActivityId()
Gets the id of the current activity.java.lang.String
getCurrentActivityName()
Gets the name of the current activity.java.util.List<EventSubscriptionEntity>
getEventSubscriptions()
java.util.List<EventSubscriptionEntity>
getEventSubscriptionsInternal()
java.util.List<ExecutionEntity>
getExecutions()
returns the list of execution of which this execution the parent of.java.util.List<ExecutionEntity>
getExecutionsAsCopy()
java.util.List<ExternalTaskEntity>
getExternalTasks()
protected java.util.List<ExternalTaskEntity>
getExternalTasksInternal()
IncidentEntity
getIncidentByCauseIncidentId(java.lang.String causeIncidentId)
java.util.List<IncidentEntity>
getIncidents()
protected java.util.List<IncidentEntity>
getIncidentsInternal()
java.util.List<JobEntity>
getJobs()
protected java.util.List<JobEntity>
getJobsInternal()
ExecutionEntity
getParent()
ensures initialization and returns the parentjava.lang.String
getParentId()
Gets the id of the parent of this execution.java.lang.Object
getPersistentState()
Returns a representation of the object, as would be stored in the database.java.lang.String
getProcessBusinessKey()
The business key for the process instance this execution is associated with.ProcessDefinitionEntity
getProcessDefinition()
ensures initialization and returns the process definition.java.lang.String
getProcessDefinitionId()
The id of the process definition of the process instance.java.lang.String
getProcessDefinitionTenantId()
ProcessEngine
getProcessEngine()
Returns theProcessEngine
providing access to the public API of the process engine.ProcessEngineServices
getProcessEngineServices()
Returns theProcessEngineServices
providing access to the public API of the process engine.ExecutionEntity
getProcessInstance()
ensures initialization and returns the process instance.java.lang.String
getProcessInstanceId()
Id of the root of the execution tree representing the process instance.java.util.Map<java.lang.String,java.lang.Class>
getReferencedEntitiesIdAndClass()
Scope: IN-MEMORY referencesjava.util.Set<java.lang.String>
getReferencedEntityIds()
Scope: IN-MEMORY referencesExecutionEntity
getReplacedBy()
Returns an execution that has replaced this execution for executing activities in their shared scope.int
getRevision()
int
getRevisionNext()
java.lang.String
getRootProcessInstanceId()
The id of the root process instance associated with this process instance.java.lang.String
getRootProcessInstanceIdRaw()
CaseExecutionEntity
getSubCaseInstance()
ExecutionEntity
getSubProcessInstance()
CaseExecutionEntity
getSuperCaseExecution()
java.lang.String
getSuperCaseExecutionId()
ExecutionEntity
getSuperExecution()
In case this delegate execution is the process instance execution and this process instance was started by a call activity, this method returns the execution which executed the call activity in the super process instance.java.lang.String
getSuperExecutionId()
int
getSuspensionState()
java.util.List<TaskEntity>
getTasks()
protected java.util.List<TaskEntity>
getTasksInternal()
protected java.lang.String
getToStringIdentity()
protected VariableInstanceFactory<CoreVariableInstance>
getVariableInstanceFactory()
protected java.util.List<VariableInstanceLifecycleListener<CoreVariableInstance>>
getVariableInstanceLifecycleListeners()
VariableInstanceLifecycleListener<CoreVariableInstance>
getVariablePersistenceListener()
java.util.Collection<VariableInstanceEntity>
getVariablesInternal()
protected VariableStore<CoreVariableInstance>
getVariableStore()
void
handleConditionalEventOnVariableChange(VariableEvent variableEvent)
void
inactivate()
Inactivates this execution.void
initialize()
protected static void
initializeAssociations(ExecutionEntity execution)
void
initializeTimerDeclarations()
void
insert()
void
interrupt(java.lang.String reason, boolean skipCustomListeners, boolean skipIoMappings, boolean externallyTerminated)
boolean
isActive(java.lang.String activityId)
protected boolean
isExecutionTreePrefetchEnabled()
boolean
isProcessInstanceExecution()
returns whether this execution is a process instance or not.boolean
isProcessInstanceStarting()
boolean
isSuspended()
Indicates if the execution is suspended.protected void
moveActivityLocalJobsTo(ExecutionEntity other)
protected void
moveConcurrentLocalVariablesTo(ExecutionEntity other)
protected void
moveExternalTasksTo(ExecutionEntity other)
protected void
moveTasksTo(ExecutionEntity other)
protected void
moveVariablesTo(ExecutionEntity other)
protected void
moveVariableTo(VariableInstanceEntity variable, ExecutionEntity other)
protected PvmExecutionImpl
newExecution()
void
onConcurrentExpand(PvmExecutionImpl scopeExecution)
Callback on tree expansion when this execution is used as the concurrent execution where the argument's children become a subordinate to.<T extends CoreExecution>
voidperformOperation(CoreAtomicOperation<T> operation)
void
performOperation(AtomicOperation executionOperation)
<T extends CoreExecution>
voidperformOperationSync(CoreAtomicOperation<T> operation)
void
performOperationSync(AtomicOperation executionOperation)
protected void
provideTenantId(java.util.Map<java.lang.String,java.lang.Object> variables, VariableMap properties)
java.util.Collection<VariableInstanceEntity>
provideVariables()
java.util.Collection<VariableInstanceEntity>
provideVariables(java.util.Collection<java.lang.String> variableNames)
void
remove()
protected void
removeActivityJobs(java.lang.String reason)
void
removeAllTasks()
void
removeEventSubscription(EventSubscriptionEntity eventSubscriptionEntity)
void
removeEventSubscriptions()
protected void
removeEventSubscriptionsExceptCompensation()
void
removeExecutionObserver(ExecutionObserver observer)
void
removeExternalTask(ExternalTaskEntity externalTask)
protected void
removeExternalTasks()
void
removeIncident(IncidentEntity incident)
void
removeJob(JobEntity job)
void
removeTask(TaskEntity task)
protected void
removeTasks(java.lang.String reason)
void
removeVariableInternal(VariableInstanceEntity variable)
void
removeVariableListener(VariableInstanceLifecycleListener<VariableInstanceEntity> listener)
void
removeVariablesLocalInternal()
void
replace(PvmExecutionImpl execution)
Replace an execution by this execution.protected boolean
requiresUnsuspendedExecution(AtomicOperation executionOperation)
ExecutionEntity
resolveReplacedBy()
Instead ofPvmExecutionImpl.getReplacedBy()
, which returns the execution that this execution was directly replaced with, this resolves the chain of replacements (i.e.void
restoreProcessInstance(java.util.Collection<ExecutionEntity> executions, java.util.Collection<EventSubscriptionEntity> eventSubscriptions, java.util.Collection<VariableInstanceEntity> variables, java.util.Collection<TaskEntity> tasks, java.util.Collection<JobEntity> jobs, java.util.Collection<IncidentEntity> incidents, java.util.Collection<ExternalTaskEntity> externalTasks)
Restores a complete process instance tree including referenced entities.void
scheduleAtomicOperationAsync(AtomicOperationInvocation executionOperationInvocation)
void
setActivity(PvmActivity activity)
void
setActivityId(java.lang.String activityId)
void
setCachedEntityState(int cachedEntityState)
void
setExecutions(java.util.List<ExecutionEntity> executions)
void
setParentExecution(PvmExecutionImpl parent)
Use #setParent to also update the child execution setsvoid
setParentId(java.lang.String parentId)
void
setProcessDefinition(ProcessDefinitionImpl processDefinition)
void
setProcessDefinitionId(java.lang.String processDefinitionId)
void
setProcessInstance(PvmExecutionImpl processInstance)
void
setProcessInstanceId(java.lang.String processInstanceId)
void
setRevision(int revision)
void
setRootProcessInstanceId(java.lang.String rootProcessInstanceId)
void
setSubCaseInstance(CmmnExecution subCaseInstance)
void
setSubProcessInstance(PvmExecutionImpl subProcessInstance)
void
setSuperCaseExecution(CmmnExecution superCaseExecution)
void
setSuperCaseExecutionId(java.lang.String superCaseExecutionId)
void
setSuperExecution(PvmExecutionImpl superExecution)
void
setSuperExecutionId(java.lang.String superExecutionId)
void
setSuspensionState(int suspensionState)
void
start(java.util.Map<java.lang.String,java.lang.Object> variables, VariableMap formProperties)
void
startWithoutExecuting(java.util.Map<java.lang.String,java.lang.Object> variables)
perform starting behavior but don't execute the initial activityjava.lang.String
toString()
-
Methods inherited from class org.camunda.bpm.engine.impl.pvm.runtime.PvmExecutionImpl
activityInstanceDone, activityInstanceEndListenerFailure, activityInstanceStarted, activityInstanceStarting, clearDelayedEvents, clearScope, collectActiveActivityIds, collectExecutions, continueExecutionIfNotCanceled, continueIfExecutionDoesNotAffectNextOperation, createActivityExecutionMapping, createActivityExecutionMapping, createActivityExecutionMapping, createConcurrentExecution, createIncident, createIncident, createIncidentContext, createSubProcessInstance, createSubProcessInstance, delayEvent, delayEvent, deleteCascade, deleteCascade, deleteCascade, destroy, dispatchDelayedEventsAndPerformOperation, dispatchDelayedEventsAndPerformOperation, dispatchScopeEvents, disposeScopeInstantiationContext, end, endCompensation, enterActivityInstance, executeActivities, executeActivitiesConcurrent, executeActivity, executeEventHandlerActivity, executeIoMapping, findActiveActivityIds, findExecution, findExecutionForFlowScope, findExecutionForFlowScope, findExecutionForScope, findExecutions, findInactiveChildExecutions, findInactiveConcurrentExecutions, findIncidentHandler, getActivityInstanceId, getActivityInstanceState, getAllChildExecutions, getBusinessKey, getCaseInstanceId, getCurrentTransitionId, getDelayedEvents, getDeleteReason, getEventScopeExecutions, getFlowScope, getFlowScopeExecution, getNextActivity, getNonEventScopeExecutions, getParentActivityInstanceId, getParentScopeExecution, getParentVariableScope, getScopeActivity, getScopeInstantiationContext, getSequenceCounter, getTransition, getTransitionsToTake, getVariableScopeKey, hasChildren, hasFailedOnEndListeners, hasReplacedParent, incrementSequenceCounter, initActivityIds, instantiateScopes, interrupt, isActive, isAsyncAfterScopeWithoutTransition, isCanceled, isCompleteScope, isConcurrent, isDeleteRoot, isEnded, isEventScope, isExecutingScopeLeafActivity, isExternallyTerminated, isIgnoreAsync, isInState, isPreserveScope, isRemoved, isReplacedByParent, isScope, isStarting, leaveActivityInstance, leaveActivityViaTransition, leaveActivityViaTransitions, propagateEnd, removeEventScopes, resolveIncident, setActive, setActivityInstanceId, setCanceled, setCaseInstanceId, setCompleteScope, setConcurrent, setDeleteReason, setDeleteRoot, setEnded, setEventScope, setExternallyTerminated, setIgnoreAsync, setNextActivity, setParent, setPreserveScope, setProcessBusinessKey, setProcessInstanceStarting, setScope, setSequenceCounter, setStartContext, setStarting, setTransition, setTransitionsToTake, setVariable, signal, start, start, startWithFormProperties, take, tryPruneLastConcurrentChild
-
Methods inherited from class org.camunda.bpm.engine.impl.core.instance.CoreExecution
getBusinessKeyWithoutCascade, getEventName, getEventSource, getId, getListenerIndex, getTenantId, invokeListener, isSkipCustomListeners, isSkipIoMappings, isSkipSubprocesses, setBusinessKey, setEventName, setEventSource, setId, setListenerIndex, setSkipCustomListeners, setSkipIoMappings, setSkipSubprocesseses, setTenantId
-
Methods inherited from class org.camunda.bpm.engine.impl.core.variable.scope.AbstractVariableScope
collectVariableNames, collectVariables, getCachedElContext, getSourceActivityVariableScope, getValueFromVariableInstance, getVariable, getVariable, getVariableInstance, getVariableInstanceLocal, getVariableInstancesLocal, getVariableInstancesLocal, getVariableLocal, getVariableLocal, getVariableLocalTyped, getVariableLocalTyped, getVariableNames, getVariableNamesLocal, getVariables, getVariablesLocal, getVariablesLocalTyped, getVariablesLocalTyped, getVariablesTyped, getVariablesTyped, getVariableTyped, getVariableTyped, hasVariable, hasVariableLocal, hasVariables, hasVariablesLocal, initializeVariableStore, invokeVariableLifecycleListenersCreate, invokeVariableLifecycleListenersCreate, invokeVariableLifecycleListenersDelete, invokeVariableLifecycleListenersDelete, invokeVariableLifecycleListenersUpdate, invokeVariableLifecycleListenersUpdate, removeVariable, removeVariable, removeVariableLocal, removeVariableLocal, removeVariables, removeVariables, removeVariablesLocal, removeVariablesLocal, setCachedElContext, setVariable, setVariable, setVariable, setVariable, setVariableLocal, setVariableLocal, setVariableLocal, setVariables, setVariables, setVariablesLocal, setVariablesLocal
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.camunda.bpm.engine.delegate.BaseDelegateExecution
getEventName, getId
-
Methods inherited from interface org.camunda.bpm.engine.delegate.DelegateExecution
getTenantId
-
Methods inherited from interface org.camunda.bpm.engine.runtime.Execution
getId, getTenantId, isEnded
-
Methods inherited from interface org.camunda.bpm.engine.impl.db.HasDbReferences
getDependentEntities
-
Methods inherited from interface org.camunda.bpm.engine.runtime.ProcessInstance
getBusinessKey, getCaseInstanceId
-
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.PvmExecution
getVariable, getVariables, hasVariable, setVariable
-
Methods inherited from interface org.camunda.bpm.engine.delegate.VariableScope
getVariable, getVariableLocal, getVariableLocalTyped, getVariableLocalTyped, getVariableNames, getVariableNamesLocal, getVariables, getVariablesLocal, getVariablesLocalTyped, getVariablesLocalTyped, getVariablesTyped, getVariablesTyped, getVariableTyped, getVariableTyped, hasVariable, hasVariableLocal, hasVariables, hasVariablesLocal, removeVariable, removeVariableLocal, removeVariables, removeVariables, removeVariablesLocal, removeVariablesLocal, setVariable, setVariableLocal, setVariables, setVariablesLocal
-
-
-
-
Field Detail
-
LOG
protected static final EnginePersistenceLogger LOG
-
EVENT_SUBSCRIPTIONS_STATE_BIT
public static final int EVENT_SUBSCRIPTIONS_STATE_BIT
- See Also:
- Constant Field Values
-
TASKS_STATE_BIT
public static final int TASKS_STATE_BIT
- See Also:
- Constant Field Values
-
JOBS_STATE_BIT
public static final int JOBS_STATE_BIT
- See Also:
- Constant Field Values
-
INCIDENT_STATE_BIT
public static final int INCIDENT_STATE_BIT
- See Also:
- Constant Field Values
-
VARIABLES_STATE_BIT
public static final int VARIABLES_STATE_BIT
- See Also:
- Constant Field Values
-
SUB_PROCESS_INSTANCE_STATE_BIT
public static final int SUB_PROCESS_INSTANCE_STATE_BIT
- See Also:
- Constant Field Values
-
SUB_CASE_INSTANCE_STATE_BIT
public static final int SUB_CASE_INSTANCE_STATE_BIT
- See Also:
- Constant Field Values
-
EXTERNAL_TASKS_BIT
public static final int EXTERNAL_TASKS_BIT
- See Also:
- Constant Field Values
-
processInstance
protected transient ExecutionEntity processInstance
the process instance. this is the root of the execution tree. the processInstance of a process instance is a self reference.
-
parent
protected transient ExecutionEntity parent
the parent execution
-
executions
protected transient java.util.List<ExecutionEntity> executions
nested executions representing scopes or concurrent paths
-
superExecution
protected transient ExecutionEntity superExecution
super execution, not-null if this execution is part of a subprocess
-
superCaseExecution
protected transient CaseExecutionEntity superCaseExecution
super case execution, not-null if this execution is part of a case execution
-
subProcessInstance
protected transient ExecutionEntity subProcessInstance
reference to a subprocessinstance, not-null if currently subprocess is started from this execution
-
subCaseInstance
protected transient CaseExecutionEntity subCaseInstance
reference to a subcaseinstance, not-null if currently subcase is started from this execution
-
shouldQueryForSubprocessInstance
protected boolean shouldQueryForSubprocessInstance
-
shouldQueryForSubCaseInstance
protected boolean shouldQueryForSubCaseInstance
-
eventSubscriptions
protected transient java.util.List<EventSubscriptionEntity> eventSubscriptions
-
jobs
protected transient java.util.List<JobEntity> jobs
-
tasks
protected transient java.util.List<TaskEntity> tasks
-
externalTasks
protected transient java.util.List<ExternalTaskEntity> externalTasks
-
incidents
protected transient java.util.List<IncidentEntity> incidents
-
cachedEntityState
protected int cachedEntityState
-
variableStore
protected transient VariableStore<VariableInstanceEntity> variableStore
-
suspensionState
protected int suspensionState
-
revision
protected int revision
-
processDefinitionId
protected java.lang.String processDefinitionId
persisted reference to the processDefinition.
-
activityId
protected java.lang.String activityId
persisted reference to the current position in the diagram within thePvmExecutionImpl.processDefinition
.- See Also:
PvmExecutionImpl.activity
,getActivity()
-
activityName
protected java.lang.String activityName
The name of the current activity position
-
processInstanceId
protected java.lang.String processInstanceId
persisted reference to the process instance.- See Also:
getProcessInstance()
-
parentId
protected java.lang.String parentId
persisted reference to the parent of this execution.- See Also:
getParent()
-
superExecutionId
protected java.lang.String superExecutionId
persisted reference to the super execution of this execution- See Also:
setSuperExecution(ExecutionEntity)
-
rootProcessInstanceId
protected java.lang.String rootProcessInstanceId
persisted reference to the root process instance.- See Also:
getRootProcessInstanceId()
-
superCaseExecutionId
protected java.lang.String superCaseExecutionId
persisted reference to the super case execution of this execution- See Also:
setSuperCaseExecution(ExecutionEntity)
-
executionObservers
protected transient java.util.List<ExecutionObserver> executionObservers
Contains observers which are observe the execution.- Since:
- 7.6
-
registeredVariableListeners
protected transient java.util.List<VariableInstanceLifecycleListener<VariableInstanceEntity>> registeredVariableListeners
-
-
Method Detail
-
createExecution
public ExecutionEntity createExecution()
creates a new execution. properties processDefinition, processInstance and activity will be initialized.- Specified by:
createExecution
in interfaceActivityExecution
- Specified by:
createExecution
in classPvmExecutionImpl
-
createSubProcessInstance
public ExecutionEntity createSubProcessInstance(PvmProcessDefinition processDefinition, java.lang.String businessKey, java.lang.String caseInstanceId)
- Specified by:
createSubProcessInstance
in interfaceActivityExecution
- Overrides:
createSubProcessInstance
in classPvmExecutionImpl
- Parameters:
processDefinition
- ThePvmProcessDefinition
of the subprocess.businessKey
- the business key of the process instancecaseInstanceId
- the case instance id of the process instance- See Also:
ActivityExecution.createSubProcessInstance(PvmProcessDefinition)
-
createNewExecution
protected static ExecutionEntity createNewExecution()
-
newExecution
protected PvmExecutionImpl newExecution()
- Specified by:
newExecution
in classPvmExecutionImpl
-
createSubCaseInstance
public CaseExecutionEntity createSubCaseInstance(CmmnCaseDefinition caseDefinition)
Description copied from interface:ActivityExecution
Creates a new sub case instance.
This
execution will be the super execution of the created sub case instance.- Specified by:
createSubCaseInstance
in interfaceActivityExecution
- Specified by:
createSubCaseInstance
in classPvmExecutionImpl
- Parameters:
caseDefinition
- TheCmmnCaseDefinition
of the sub case instance.
-
createSubCaseInstance
public CaseExecutionEntity createSubCaseInstance(CmmnCaseDefinition caseDefinition, java.lang.String businessKey)
Description copied from interface:ActivityExecution
Creates a new sub case instance.
This
execution will be the super execution of the created sub case instance.- Specified by:
createSubCaseInstance
in interfaceActivityExecution
- Specified by:
createSubCaseInstance
in classPvmExecutionImpl
- Parameters:
caseDefinition
- TheCmmnCaseDefinition
of the sub case instance.businessKey
- The businessKey to be set on sub case instance.
-
fireHistoricActivityInstanceUpdate
public void fireHistoricActivityInstanceUpdate()
-
initialize
public void initialize()
- Specified by:
initialize
in classPvmExecutionImpl
-
initializeTimerDeclarations
public void initializeTimerDeclarations()
- Specified by:
initializeTimerDeclarations
in classPvmExecutionImpl
-
createTimerInstances
protected void createTimerInstances(java.util.Collection<TimerDeclarationImpl> timerDeclarations)
-
initializeAssociations
protected static void initializeAssociations(ExecutionEntity execution)
-
start
public void start(java.util.Map<java.lang.String,java.lang.Object> variables, VariableMap formProperties)
- Overrides:
start
in classPvmExecutionImpl
-
startWithoutExecuting
public void startWithoutExecuting(java.util.Map<java.lang.String,java.lang.Object> variables)
Description copied from class:PvmExecutionImpl
perform starting behavior but don't execute the initial activity- Overrides:
startWithoutExecuting
in classPvmExecutionImpl
- Parameters:
variables
- the variables which are used for the start
-
provideTenantId
protected void provideTenantId(java.util.Map<java.lang.String,java.lang.Object> variables, VariableMap properties)
-
fireHistoricProcessStartEvent
public void fireHistoricProcessStartEvent()
- Specified by:
fireHistoricProcessStartEvent
in classPvmExecutionImpl
-
destroy
public void destroy(boolean alwaysSkipIoMappings)
Method used for destroying a scope in a way that the execution can be removed afterwards.- Overrides:
destroy
in classPvmExecutionImpl
- Parameters:
alwaysSkipIoMappings
- set to true to always skip IO mappings, regardless of internal state of execution (=>CoreExecution.isSkipIoMappings()
)
-
removeAllTasks
public void removeAllTasks()
- Overrides:
removeAllTasks
in classPvmExecutionImpl
-
clearExecution
protected void clearExecution()
-
removeVariablesLocalInternal
public void removeVariablesLocalInternal()
- Specified by:
removeVariablesLocalInternal
in classPvmExecutionImpl
-
interrupt
public void interrupt(java.lang.String reason, boolean skipCustomListeners, boolean skipIoMappings, boolean externallyTerminated)
- Overrides:
interrupt
in classPvmExecutionImpl
-
removeActivityJobs
protected void removeActivityJobs(java.lang.String reason)
-
performOperation
public <T extends CoreExecution> void performOperation(CoreAtomicOperation<T> operation)
- Overrides:
performOperation
in classCoreExecution
-
performOperationSync
public <T extends CoreExecution> void performOperationSync(CoreAtomicOperation<T> operation)
- Overrides:
performOperationSync
in classCoreExecution
-
performOperation
public void performOperation(AtomicOperation executionOperation)
-
performOperationSync
public void performOperationSync(AtomicOperation executionOperation)
-
ensureNotSuspended
protected void ensureNotSuspended()
-
requiresUnsuspendedExecution
protected boolean requiresUnsuspendedExecution(AtomicOperation executionOperation)
-
scheduleAtomicOperationAsync
public void scheduleAtomicOperationAsync(AtomicOperationInvocation executionOperationInvocation)
-
isActive
public boolean isActive(java.lang.String activityId)
- Overrides:
isActive
in classPvmExecutionImpl
-
inactivate
public void inactivate()
Description copied from interface:ActivityExecution
Inactivates this execution. This is useful for example in a join: the execution still exists, but it is not longer active.- Specified by:
inactivate
in interfaceActivityExecution
- Overrides:
inactivate
in classPvmExecutionImpl
-
addExecutionObserver
public void addExecutionObserver(ExecutionObserver observer)
-
removeExecutionObserver
public void removeExecutionObserver(ExecutionObserver observer)
-
getExecutions
public java.util.List<ExecutionEntity> getExecutions()
Description copied from interface:ActivityExecution
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.- Specified by:
getExecutions
in interfaceActivityExecution
- Specified by:
getExecutions
in classPvmExecutionImpl
-
getExecutionsAsCopy
public java.util.List<ExecutionEntity> getExecutionsAsCopy()
- Specified by:
getExecutionsAsCopy
in classPvmExecutionImpl
-
ensureExecutionsInitialized
protected void ensureExecutionsInitialized()
-
isExecutionTreePrefetchEnabled
protected boolean isExecutionTreePrefetchEnabled()
- Returns:
- true if execution tree prefetching is enabled
-
setExecutions
public void setExecutions(java.util.List<ExecutionEntity> executions)
-
getProcessBusinessKey
public java.lang.String getProcessBusinessKey()
Description copied from interface:DelegateExecution
The business key for the process instance this execution is associated with.- Specified by:
getProcessBusinessKey
in interfaceDelegateExecution
- Overrides:
getProcessBusinessKey
in classPvmExecutionImpl
-
getProcessDefinition
public ProcessDefinitionEntity getProcessDefinition()
ensures initialization and returns the process definition.- Overrides:
getProcessDefinition
in classPvmExecutionImpl
-
setProcessDefinitionId
public void setProcessDefinitionId(java.lang.String processDefinitionId)
-
getProcessDefinitionId
public java.lang.String getProcessDefinitionId()
Description copied from interface:ProcessInstance
The id of the process definition of the process instance.- Specified by:
getProcessDefinitionId
in interfaceDelegateExecution
- Specified by:
getProcessDefinitionId
in interfaceProcessInstance
-
ensureProcessDefinitionInitialized
protected void ensureProcessDefinitionInitialized()
for setting the process definition, this setter must be used as subclasses can override
-
setProcessDefinition
public void setProcessDefinition(ProcessDefinitionImpl processDefinition)
- Overrides:
setProcessDefinition
in classPvmExecutionImpl
-
getProcessInstance
public ExecutionEntity getProcessInstance()
ensures initialization and returns the process instance.- Specified by:
getProcessInstance
in interfaceDelegateExecution
- Specified by:
getProcessInstance
in classPvmExecutionImpl
-
ensureProcessInstanceInitialized
protected void ensureProcessInstanceInitialized()
-
setProcessInstance
public void setProcessInstance(PvmExecutionImpl processInstance)
- Specified by:
setProcessInstance
in classPvmExecutionImpl
-
isProcessInstanceExecution
public boolean isProcessInstanceExecution()
Description copied from interface:ActivityExecution
returns whether this execution is a process instance or not.- Specified by:
isProcessInstanceExecution
in interfaceActivityExecution
- Overrides:
isProcessInstanceExecution
in classPvmExecutionImpl
-
isProcessInstanceStarting
public boolean isProcessInstanceStarting()
- Overrides:
isProcessInstanceStarting
in classPvmExecutionImpl
-
getActivity
public ActivityImpl getActivity()
ensures initialization and returns the activity- Specified by:
getActivity
in interfaceActivityExecution
- Specified by:
getActivity
in interfacePvmExecution
- Overrides:
getActivity
in classPvmExecutionImpl
-
getActivityId
public java.lang.String getActivityId()
- Overrides:
getActivityId
in classPvmExecutionImpl
-
ensureActivityInitialized
protected void ensureActivityInitialized()
must be called before the activity member field or getActivity() is called
-
setActivity
public void setActivity(PvmActivity activity)
- Specified by:
setActivity
in interfaceActivityExecution
- Overrides:
setActivity
in classPvmExecutionImpl
-
generateActivityInstanceId
protected java.lang.String generateActivityInstanceId(java.lang.String activityId)
generates an activity instance id- Specified by:
generateActivityInstanceId
in classPvmExecutionImpl
-
getParent
public ExecutionEntity getParent()
ensures initialization and returns the parent- Specified by:
getParent
in interfaceActivityExecution
- Specified by:
getParent
in classPvmExecutionImpl
-
ensureParentInitialized
protected void ensureParentInitialized()
-
setParentExecution
public void setParentExecution(PvmExecutionImpl parent)
Description copied from class:PvmExecutionImpl
Use #setParent to also update the child execution sets- Specified by:
setParentExecution
in classPvmExecutionImpl
-
getSuperExecutionId
public java.lang.String getSuperExecutionId()
-
getSuperExecution
public ExecutionEntity getSuperExecution()
Description copied from interface:DelegateExecution
In case this delegate execution is the process instance execution and this process instance was started by a call activity, this method returns the execution which executed the call activity in the super process instance.- Specified by:
getSuperExecution
in interfaceDelegateExecution
- Specified by:
getSuperExecution
in classPvmExecutionImpl
- Returns:
- the super execution or null.
-
setSuperExecution
public void setSuperExecution(PvmExecutionImpl superExecution)
- Specified by:
setSuperExecution
in classPvmExecutionImpl
-
ensureSuperExecutionInitialized
protected void ensureSuperExecutionInitialized()
-
getSubProcessInstance
public ExecutionEntity getSubProcessInstance()
- Specified by:
getSubProcessInstance
in classPvmExecutionImpl
-
setSubProcessInstance
public void setSubProcessInstance(PvmExecutionImpl subProcessInstance)
- Specified by:
setSubProcessInstance
in classPvmExecutionImpl
-
ensureSubProcessInstanceInitialized
protected void ensureSubProcessInstanceInitialized()
-
getSuperCaseExecutionId
public java.lang.String getSuperCaseExecutionId()
-
setSuperCaseExecutionId
public void setSuperCaseExecutionId(java.lang.String superCaseExecutionId)
-
getSuperCaseExecution
public CaseExecutionEntity getSuperCaseExecution()
- Specified by:
getSuperCaseExecution
in classPvmExecutionImpl
-
setSuperCaseExecution
public void setSuperCaseExecution(CmmnExecution superCaseExecution)
- Specified by:
setSuperCaseExecution
in classPvmExecutionImpl
-
ensureSuperCaseExecutionInitialized
protected void ensureSuperCaseExecutionInitialized()
-
getSubCaseInstance
public CaseExecutionEntity getSubCaseInstance()
- Specified by:
getSubCaseInstance
in classPvmExecutionImpl
-
setSubCaseInstance
public void setSubCaseInstance(CmmnExecution subCaseInstance)
- Specified by:
setSubCaseInstance
in classPvmExecutionImpl
-
ensureSubCaseInstanceInitialized
protected void ensureSubCaseInstanceInitialized()
-
remove
public void remove()
- Specified by:
remove
in interfaceActivityExecution
- Overrides:
remove
in classPvmExecutionImpl
-
removeEventSubscriptionsExceptCompensation
protected void removeEventSubscriptionsExceptCompensation()
-
removeEventSubscriptions
public void removeEventSubscriptions()
-
removeTasks
protected void removeTasks(java.lang.String reason)
-
removeExternalTasks
protected void removeExternalTasks()
-
getReplacedBy
public ExecutionEntity getReplacedBy()
Description copied from class:PvmExecutionImpl
Returns an execution that has replaced this execution for executing activities in their shared scope.
Invariant: this execution and getReplacedBy() execute in the same scope.
- Specified by:
getReplacedBy
in classPvmExecutionImpl
-
resolveReplacedBy
public ExecutionEntity resolveReplacedBy()
Description copied from class:PvmExecutionImpl
Instead ofPvmExecutionImpl.getReplacedBy()
, which returns the execution that this execution was directly replaced with, this resolves the chain of replacements (i.e. in the case the replacedBy execution itself was replaced again)- Overrides:
resolveReplacedBy
in classPvmExecutionImpl
-
replace
public void replace(PvmExecutionImpl execution)
Description copied from class:PvmExecutionImpl
Replace an execution by this execution. The replaced execution has a pointer (
PvmExecutionImpl.getReplacedBy()
) to this execution. This pointer is maintained until the replaced execution is removed or this execution is removed/ended.This is used for two cases: Execution tree expansion and execution tree compaction
- expansion: Before:
------- | e1 | scope -------
After:------- | e1 | scope ------- | ------- | e2 | cc (no scope) -------
e2 replaces e1: it should receive all entities associated with the activity currently executed by e1; these are tasks, (local) variables, jobs (specific for the activity, not the scope) - compaction: Before:
------- | e1 | scope ------- | ------- | e2 | cc (no scope) -------
After:------- | e1 | scope -------
e1 replaces e2: it should receive all entities associated with the activity currently executed by e2; these are tasks, (all) variables, all jobs
- Overrides:
replace
in classPvmExecutionImpl
- See Also:
PvmExecutionImpl.createConcurrentExecution()
,PvmExecutionImpl.tryPruneLastConcurrentChild()
- expansion: Before:
-
onConcurrentExpand
public void onConcurrentExpand(PvmExecutionImpl scopeExecution)
Description copied from class:PvmExecutionImpl
Callback on tree expansion when this execution is used as the concurrent execution where the argument's children become a subordinate to. Note that this case is not the inverse of replace because replace has the semantics that the replacing execution can be used to continue execution of this execution's activity instance.- Overrides:
onConcurrentExpand
in classPvmExecutionImpl
-
moveTasksTo
protected void moveTasksTo(ExecutionEntity other)
-
moveExternalTasksTo
protected void moveExternalTasksTo(ExecutionEntity other)
-
moveActivityLocalJobsTo
protected void moveActivityLocalJobsTo(ExecutionEntity other)
-
moveVariablesTo
protected void moveVariablesTo(ExecutionEntity other)
-
moveVariableTo
protected void moveVariableTo(VariableInstanceEntity variable, ExecutionEntity other)
-
moveConcurrentLocalVariablesTo
protected void moveConcurrentLocalVariablesTo(ExecutionEntity other)
-
addVariableListener
public void addVariableListener(VariableInstanceLifecycleListener<VariableInstanceEntity> listener)
-
removeVariableListener
public void removeVariableListener(VariableInstanceLifecycleListener<VariableInstanceEntity> listener)
-
provideVariables
public java.util.Collection<VariableInstanceEntity> provideVariables()
- Specified by:
provideVariables
in interfaceVariableStore.VariablesProvider<VariableInstanceEntity>
-
provideVariables
public java.util.Collection<VariableInstanceEntity> provideVariables(java.util.Collection<java.lang.String> variableNames)
- Specified by:
provideVariables
in interfaceVariableStore.VariablesProvider<VariableInstanceEntity>
-
ensureExecutionTreeInitialized
protected void ensureExecutionTreeInitialized()
Fetch all the executions inside the same process instance as list and then reconstruct the complete execution tree. In many cases this is an optimization over fetching the execution tree lazily. Usually we need all executions anyway and it is preferable to fetch more data in a single query (maybe even too much data) then to run multiple queries, each returning a fraction of the data. The most important consideration here is network roundtrip: If the process engine and database run on separate hosts, network roundtrip has to be added to each query. Economizing on the number of queries economizes on network roundtrip. The tradeoff here is network roundtrip vs. throughput: multiple roundtrips carrying small chucks of data vs. a single roundtrip carrying more data.
-
restoreProcessInstance
public void restoreProcessInstance(java.util.Collection<ExecutionEntity> executions, java.util.Collection<EventSubscriptionEntity> eventSubscriptions, java.util.Collection<VariableInstanceEntity> variables, java.util.Collection<TaskEntity> tasks, java.util.Collection<JobEntity> jobs, java.util.Collection<IncidentEntity> incidents, java.util.Collection<ExternalTaskEntity> externalTasks)
Restores a complete process instance tree including referenced entities.- Parameters:
executions
- the list of all executions that are part of this process instance. Cannot be null, must include the process instance execution itself.eventSubscriptions
- the list of all event subscriptions that are linked to executions which is part of this process instance If null, event subscriptions are not initialized and lazy loaded on demandvariables
- the list of all variables that are linked to executions which are part of this process instance If null, variables are not initialized and are lazy loaded on demandjobs
-tasks
-incidents
-
-
getPersistentState
public java.lang.Object getPersistentState()
Description copied from interface:DbEntity
Returns a representation of the object, as would be stored in the database. Used when deciding if updates have occurred to the object or not since it was last loaded.- Specified by:
getPersistentState
in interfaceDbEntity
-
insert
public void insert()
-
getRevisionNext
public int getRevisionNext()
- Specified by:
getRevisionNext
in interfaceHasDbRevision
-
forceUpdate
public void forceUpdate()
- Specified by:
forceUpdate
in interfaceActivityExecution
-
toString
public java.lang.String toString()
- Overrides:
toString
in classPvmExecutionImpl
-
getToStringIdentity
protected java.lang.String getToStringIdentity()
- Overrides:
getToStringIdentity
in classPvmExecutionImpl
-
getEventSubscriptionsInternal
public java.util.List<EventSubscriptionEntity> getEventSubscriptionsInternal()
-
getEventSubscriptions
public java.util.List<EventSubscriptionEntity> getEventSubscriptions()
-
getCompensateEventSubscriptions
public java.util.List<EventSubscriptionEntity> getCompensateEventSubscriptions()
-
getCompensateEventSubscriptions
public java.util.List<EventSubscriptionEntity> getCompensateEventSubscriptions(java.lang.String activityId)
-
ensureEventSubscriptionsInitialized
protected void ensureEventSubscriptionsInitialized()
-
addEventSubscription
public void addEventSubscription(EventSubscriptionEntity eventSubscriptionEntity)
-
removeEventSubscription
public void removeEventSubscription(EventSubscriptionEntity eventSubscriptionEntity)
-
ensureJobsInitialized
protected void ensureJobsInitialized()
-
getJobsInternal
protected java.util.List<JobEntity> getJobsInternal()
-
getJobs
public java.util.List<JobEntity> getJobs()
-
addJob
public void addJob(JobEntity jobEntity)
-
removeJob
public void removeJob(JobEntity job)
-
ensureIncidentsInitialized
protected void ensureIncidentsInitialized()
-
getIncidentsInternal
protected java.util.List<IncidentEntity> getIncidentsInternal()
-
getIncidents
public java.util.List<IncidentEntity> getIncidents()
-
addIncident
public void addIncident(IncidentEntity incident)
-
removeIncident
public void removeIncident(IncidentEntity incident)
-
getIncidentByCauseIncidentId
public IncidentEntity getIncidentByCauseIncidentId(java.lang.String causeIncidentId)
-
ensureTasksInitialized
protected void ensureTasksInitialized()
-
getTasksInternal
protected java.util.List<TaskEntity> getTasksInternal()
-
getTasks
public java.util.List<TaskEntity> getTasks()
-
addTask
public void addTask(TaskEntity taskEntity)
-
removeTask
public void removeTask(TaskEntity task)
-
ensureExternalTasksInitialized
protected void ensureExternalTasksInitialized()
-
getExternalTasksInternal
protected java.util.List<ExternalTaskEntity> getExternalTasksInternal()
-
addExternalTask
public void addExternalTask(ExternalTaskEntity externalTask)
-
removeExternalTask
public void removeExternalTask(ExternalTaskEntity externalTask)
-
getExternalTasks
public java.util.List<ExternalTaskEntity> getExternalTasks()
-
getVariableStore
protected VariableStore<CoreVariableInstance> getVariableStore()
- Specified by:
getVariableStore
in classAbstractVariableScope
-
getVariableInstanceFactory
protected VariableInstanceFactory<CoreVariableInstance> getVariableInstanceFactory()
- Specified by:
getVariableInstanceFactory
in classAbstractVariableScope
-
getVariableInstanceLifecycleListeners
protected java.util.List<VariableInstanceLifecycleListener<CoreVariableInstance>> getVariableInstanceLifecycleListeners()
- Specified by:
getVariableInstanceLifecycleListeners
in classAbstractVariableScope
-
getVariablePersistenceListener
public VariableInstanceLifecycleListener<CoreVariableInstance> getVariablePersistenceListener()
-
getVariablesInternal
public java.util.Collection<VariableInstanceEntity> getVariablesInternal()
-
removeVariableInternal
public void removeVariableInternal(VariableInstanceEntity variable)
-
addVariableInternal
public void addVariableInternal(VariableInstanceEntity variable)
-
handleConditionalEventOnVariableChange
public void handleConditionalEventOnVariableChange(VariableEvent variableEvent)
-
dispatchEvent
public void dispatchEvent(VariableEvent variableEvent)
- Specified by:
dispatchEvent
in interfaceVariableEventDispatcher
- Overrides:
dispatchEvent
in classAbstractVariableScope
-
setCachedEntityState
public void setCachedEntityState(int cachedEntityState)
-
getCachedEntityState
public int getCachedEntityState()
-
getCachedEntityStateRaw
public int getCachedEntityStateRaw()
-
getRootProcessInstanceId
public java.lang.String getRootProcessInstanceId()
Description copied from interface:ProcessInstance
The id of the root process instance associated with this process instance.- Specified by:
getRootProcessInstanceId
in interfaceProcessInstance
-
getRootProcessInstanceIdRaw
public java.lang.String getRootProcessInstanceIdRaw()
-
setRootProcessInstanceId
public void setRootProcessInstanceId(java.lang.String rootProcessInstanceId)
-
getProcessInstanceId
public java.lang.String getProcessInstanceId()
Description copied from interface:Execution
Id of the root of the execution tree representing the process instance. It is the same asExecution.getId()
if this execution is the process instance.- Specified by:
getProcessInstanceId
in interfaceDelegateExecution
- Specified by:
getProcessInstanceId
in interfaceExecution
-
setProcessInstanceId
public void setProcessInstanceId(java.lang.String processInstanceId)
-
getParentId
public java.lang.String getParentId()
Description copied from interface:DelegateExecution
Gets the id of the parent of this execution. If null, the execution represents a process-instance.- Specified by:
getParentId
in interfaceDelegateExecution
- Overrides:
getParentId
in classPvmExecutionImpl
-
setParentId
public void setParentId(java.lang.String parentId)
-
getRevision
public int getRevision()
- Specified by:
getRevision
in interfaceHasDbRevision
-
setRevision
public void setRevision(int revision)
- Specified by:
setRevision
in interfaceHasDbRevision
-
setActivityId
public void setActivityId(java.lang.String activityId)
-
setSuperExecutionId
public void setSuperExecutionId(java.lang.String superExecutionId)
-
getReferencedEntityIds
public java.util.Set<java.lang.String> getReferencedEntityIds()
Description copied from interface:HasDbReferences
Scope: IN-MEMORY references
- Specified by:
getReferencedEntityIds
in interfaceHasDbReferences
- Returns:
- the ids of the entities that this entity references. Should only return ids for entities of the same type
-
getReferencedEntitiesIdAndClass
public java.util.Map<java.lang.String,java.lang.Class> getReferencedEntitiesIdAndClass()
Description copied from interface:HasDbReferences
Scope: IN-MEMORY references
- Specified by:
getReferencedEntitiesIdAndClass
in interfaceHasDbReferences
- Returns:
- a map of the ids and the entities' classes that this entity references. It's used when trying to determine if there was an Optimistic Locking occurrence on an INSERT or UPDATE of an object of this type.
-
getSuspensionState
public int getSuspensionState()
-
setSuspensionState
public void setSuspensionState(int suspensionState)
-
isSuspended
public boolean isSuspended()
Description copied from interface:Execution
Indicates if the execution is suspended.- Specified by:
isSuspended
in interfaceExecution
- Specified by:
isSuspended
in interfaceProcessInstance
-
getCurrentActivityId
public java.lang.String getCurrentActivityId()
Description copied from interface:DelegateExecution
Gets the id of the current activity.- Specified by:
getCurrentActivityId
in interfaceDelegateExecution
- Overrides:
getCurrentActivityId
in classPvmExecutionImpl
-
getCurrentActivityName
public java.lang.String getCurrentActivityName()
Description copied from interface:DelegateExecution
Gets the name of the current activity.- Specified by:
getCurrentActivityName
in interfaceDelegateExecution
- Overrides:
getCurrentActivityName
in classPvmExecutionImpl
-
getBpmnModelElementInstance
public FlowElement getBpmnModelElementInstance()
Description copied from interface:BpmnModelExecutionContext
Returns the currently executed Element in the BPMN Model. This method returns a
FlowElement
which may be casted to the concrete type of the Bpmn Model Element currently executed.If called from a Service
ExecutionListener
, the method will return the correspondingFlowNode
forExecutionListener.EVENTNAME_START
andExecutionListener.EVENTNAME_END
and the correspondingSequenceFlow
forExecutionListener.EVENTNAME_TAKE
.- Specified by:
getBpmnModelElementInstance
in interfaceBpmnModelExecutionContext
- Returns:
- the
FlowElement
corresponding to the current Bpmn Model Element
-
getBpmnModelInstance
public BpmnModelInstance getBpmnModelInstance()
Description copied from interface:BpmnModelExecutionContext
Returns theBpmnModelInstance
for the currently executed Bpmn Model- Specified by:
getBpmnModelInstance
in interfaceBpmnModelExecutionContext
- Returns:
- the current
BpmnModelInstance
-
getProcessEngineServices
public ProcessEngineServices getProcessEngineServices()
Description copied from interface:ProcessEngineServicesAware
Returns theProcessEngineServices
providing access to the public API of the process engine.- Specified by:
getProcessEngineServices
in interfaceProcessEngineServicesAware
- Returns:
- the
ProcessEngineServices
.
-
getProcessEngine
public ProcessEngine getProcessEngine()
Description copied from interface:ProcessEngineServicesAware
Returns theProcessEngine
providing access to the public API of the process engine.- Specified by:
getProcessEngine
in interfaceProcessEngineServicesAware
- Returns:
- the
ProcessEngine
.
-
getProcessDefinitionTenantId
public java.lang.String getProcessDefinitionTenantId()
-
-