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

public interface PvmScope
extends PvmProcessElement

Author:
Tom Baeyens, Daniel Meyer

Method Summary
 PvmActivity findActivity(String activityId)
          Recursively finds a flow activity.
 PvmActivity findActivityAtLevelOfSubprocess(String activityId)
          Finds an activity at the same level of subprocess.
 TransitionImpl findTransition(String transitionId)
          Recursively finds a transition.
 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, 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:

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 the flow 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 the flow scope.

Returns:
the list of flow activities for this scope.

findActivity

PvmActivity findActivity(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(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(String transitionId)
Recursively finds a transition.

Parameters:
transitionId - the transiton to find
Returns:
the transition or null


Copyright © 2015 camunda services GmbH. All rights reserved.