Package org.camunda.bpm.engine.impl.pvm
Interface PvmScope
- All Superinterfaces:
PvmProcessElement
,Serializable
- All Known Subinterfaces:
PvmActivity
,PvmProcessDefinition
,ReadOnlyProcessDefinition
- All Known Implementing Classes:
ActivityImpl
,ProcessDefinitionEntity
,ProcessDefinitionImpl
,ProcessDefinitionStatisticsEntity
,ScopeImpl
- Author:
- Tom Baeyens, Daniel Meyer
-
Method Summary
Modifier and TypeMethodDescriptionfindActivity
(String activityId) Recursively finds a flow activity.findActivityAtLevelOfSubprocess
(String activityId) Finds an activity at the same level of subprocess.findTransition
(String transitionId) Recursively finds a transition.List<? extends PvmActivity>
Returns the flow activities of this scope.The event scope for an activity is the scope in which the activity listens for events.The flow scope of the activity.The "level of subprocess scope" as defined in bpmn: this is the subprocess containing the activity.boolean
isScope()
Indicates whether this is a local scope for variables and events if true, there will _always_ be a scope execution created for it.boolean
Indicates whether this scope is a sub process scope.Methods inherited from interface org.camunda.bpm.engine.impl.pvm.PvmProcessElement
getId, getProcessDefinition, getProperties, getProperty
-
Method Details
-
isScope
boolean isScope()Indicates whether this is a local scope for variables and events if true, there will _always_ be a scope execution created for it.Note: the fact that this is a scope does not mean that it is also a
sub process scope.
-
isSubProcessScope
boolean isSubProcessScope()Indicates whether this scope is a sub process scope. A sub process scope is a scope which contains "normal flow".Scopes which are flow scopes but not sub process scopes:- a multi instance body scope
- leaf scope activities which are pure event scopes (Example: User task with attached boundary event)
- Returns:
- true if this is a sub process scope
-
getEventScope
PvmScope getEventScope()The event scope for an activity is the scope in which the activity listens for events. This may or may not be theflow scope.
. Consider: boundary events have a different event scope than flow scope.The event scope is always a
scope
.- Returns:
- the event scope of the activity
-
getFlowScope
ScopeImpl getFlowScope()The flow scope of the activity. The scope in which the activity itself is executed.Note: in order to ensure backwards compatible behavior, a flow scope is not necessarily a
a scope
. Example: event sub processes. -
getLevelOfSubprocessScope
PvmScope getLevelOfSubprocessScope()The "level of subprocess scope" as defined in bpmn: this is the subprocess containing the activity. Usually this is the same as the flow scope, instead if the activity is multi instance: in that case the activity is nested inside a mutli instance body but "at the same level of subprocess" as other activities which are siblings to the mi-body.- Returns:
- the level of subprocess scope as defined in bpmn
-
getActivities
List<? extends PvmActivity> getActivities()Returns the flow activities of this scope. This is the list of activities for which this scope is theflow scope
.- Returns:
- the list of flow activities for this scope.
-
findActivity
Recursively finds a flow activity. This is an activitiy which is in the hierarchy of flow activities.- Parameters:
activityId
- the id of the activity to find.- Returns:
- the activity or null
-
findActivityAtLevelOfSubprocess
Finds an activity at the same level of subprocess.- Parameters:
activityId
- the id of the activity to find.- Returns:
- the activity or null
-
findTransition
Recursively finds a transition.- Parameters:
transitionId
- the transiton to find- Returns:
- the transition or null
-