Class ScopeImpl

All Implemented Interfaces:
Serializable, PvmProcessElement, PvmScope
Direct Known Subclasses:
ActivityImpl, ProcessDefinitionImpl

public abstract class ScopeImpl extends CoreActivity implements PvmScope
A Bpmn scope. The scope has references to two lists of activities: - the flow activities (activities for which the flow scope is this scope - event listener activities (activities for which the event scope is this scope.
Tom Baeyens, Daniel Meyer
See Also:
  • Field Details

    • isSubProcessScope

      protected boolean isSubProcessScope
    • flowActivities

      protected List<ActivityImpl> flowActivities
      The activities for which the flow scope is this scope
    • namedFlowActivities

      protected Map<String,ActivityImpl> namedFlowActivities
    • eventActivities

      protected Set<ActivityImpl> eventActivities
      activities for which this is the event scope
    • processDefinition

      protected ProcessDefinitionImpl processDefinition

      protected final Map<String,ScopeImpl.BacklogErrorCallback> BACKLOG
      The key identifies the activity which is referenced but not read yet. The value is the error callback, which is called if the activity is not read till the end of parsing.
  • Constructor Details

  • Method Details

    • findActivity

      public ActivityImpl findActivity(String activityId)
      Description copied from class: CoreActivity
      searches for the activity recursively
      Specified by:
      findActivity in interface PvmScope
      findActivity in class CoreActivity
      activityId - the id of the activity to find.
      the activity or null
    • findTransition

      public TransitionImpl findTransition(String transitionId)
      Description copied from interface: PvmScope
      Recursively finds a transition.
      Specified by:
      findTransition in interface PvmScope
      transitionId - the transiton to find
      the transition or null
    • findActivityAtLevelOfSubprocess

      public ActivityImpl findActivityAtLevelOfSubprocess(String activityId)
      Description copied from interface: PvmScope
      Finds an activity at the same level of subprocess.
      Specified by:
      findActivityAtLevelOfSubprocess in interface PvmScope
      activityId - the id of the activity to find.
      the activity or null
    • getChildActivity

      public ActivityImpl getChildActivity(String activityId)
      searches for the activity locally
      Specified by:
      getChildActivity in class CoreActivity
    • getBacklogErrorCallbacks

      public Collection<ScopeImpl.BacklogErrorCallback> getBacklogErrorCallbacks()
      Returns the backlog error callback's.
      the callback's
    • isBacklogEmpty

      public boolean isBacklogEmpty()
      Returns true if the backlog is empty.
      true if empty, false otherwise
    • addToBacklog

      public void addToBacklog(String activityRef, ScopeImpl.BacklogErrorCallback callback)
      Add's the given activity reference and the error callback to the backlog.
      activityRef - the activity reference which is not read until now
      callback - the error callback which should called if activity will not be read
    • createActivity

      public ActivityImpl createActivity(String activityId)
      Specified by:
      createActivity in class CoreActivity
    • isAncestorFlowScopeOf

      public boolean isAncestorFlowScopeOf(ScopeImpl other)
    • contains

      public boolean contains(ActivityImpl activity)
    • getExecutionListeners

      @Deprecated public List<ExecutionListener> getExecutionListeners(String eventName)
    • addExecutionListener

      @Deprecated public void addExecutionListener(String eventName, ExecutionListener executionListener)
    • addExecutionListener

      @Deprecated public void addExecutionListener(String eventName, ExecutionListener executionListener, int index)
    • getExecutionListeners

      @Deprecated public Map<String,List<ExecutionListener>> getExecutionListeners()
    • getActivities

      public List<ActivityImpl> getActivities()
      Description copied from interface: PvmScope
      Returns the flow activities of this scope. This is the list of activities for which this scope is the flow scope.
      Specified by:
      getActivities in interface PvmScope
      Specified by:
      getActivities in class CoreActivity
      the list of flow activities for this scope.
    • getEventActivities

      public Set<ActivityImpl> getEventActivities()
    • isSubProcessScope

      public boolean isSubProcessScope()
      Description copied from interface: PvmScope
      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)
      Specified by:
      isSubProcessScope in interface PvmScope
      true if this is a sub process scope
    • setSubProcessScope

      public void setSubProcessScope(boolean isSubProcessScope)
    • getProcessDefinition

      public ProcessDefinitionImpl getProcessDefinition()
      Description copied from interface: PvmProcessElement
      The process definition scope, root of the scope hierarchy.
      Specified by:
      getProcessDefinition in interface PvmProcessElement