Package org.camunda.bpm.engine.impl.pvm
Interface PvmScope
-
- All Superinterfaces:
PvmProcessElement
,java.io.Serializable
- All Known Subinterfaces:
PvmActivity
,PvmProcessDefinition
,ReadOnlyProcessDefinition
- All Known Implementing Classes:
ActivityImpl
,ProcessDefinitionEntity
,ProcessDefinitionImpl
,ProcessDefinitionStatisticsEntity
,ScopeImpl
public interface PvmScope extends PvmProcessElement
- Author:
- Tom Baeyens, Daniel Meyer
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description PvmActivity
findActivity(java.lang.String activityId)
Recursively finds a flow activity.PvmActivity
findActivityAtLevelOfSubprocess(java.lang.String activityId)
Finds an activity at the same level of subprocess.TransitionImpl
findTransition(java.lang.String transitionId)
Recursively finds a transition.java.util.List<? extends PvmActivity>
getActivities()
Returns the flow activities of this scope.PvmScope
getEventScope()
The event scope for an activity is the scope in which the activity listens for events.ScopeImpl
getFlowScope()
The flow scope of the activity.PvmScope
getLevelOfSubprocessScope()
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
isSubProcessScope()
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 Detail
-
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
java.util.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
PvmActivity findActivity(java.lang.String activityId)
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
PvmActivity findActivityAtLevelOfSubprocess(java.lang.String activityId)
Finds an activity at the same level of subprocess.- Parameters:
activityId
- the id of the activity to find.- Returns:
- the activity or null
-
findTransition
TransitionImpl findTransition(java.lang.String transitionId)
Recursively finds a transition.- Parameters:
transitionId
- the transiton to find- Returns:
- the transition or null
-
-