Class ScopeImpl
- java.lang.Object
-
- org.camunda.bpm.engine.impl.core.model.CoreModelElement
-
- org.camunda.bpm.engine.impl.core.model.CoreActivity
-
- org.camunda.bpm.engine.impl.pvm.process.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 theflow scope
is this scope - event listener activities (activities for which theevent scope
is this scope.- Author:
- Tom Baeyens, Daniel Meyer
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ScopeImpl.BacklogErrorCallback
Represents the backlog error callback interface.
-
Field Summary
Fields Modifier and Type Field Description protected Map<String,ScopeImpl.BacklogErrorCallback>
BACKLOG
The key identifies the activity which is referenced but not read yet.protected Set<ActivityImpl>
eventActivities
activities for which this is the event scopeprotected List<ActivityImpl>
flowActivities
The activities for which the flow scope is this scopeprotected boolean
isSubProcessScope
protected Map<String,ActivityImpl>
namedFlowActivities
protected ProcessDefinitionImpl
processDefinition
-
Fields inherited from class org.camunda.bpm.engine.impl.core.model.CoreActivity
ioMapping
-
Fields inherited from class org.camunda.bpm.engine.impl.core.model.CoreModelElement
builtInListeners, builtInVariableListeners, id, listeners, name, properties, variableListeners
-
-
Constructor Summary
Constructors Constructor Description ScopeImpl(String id, ProcessDefinitionImpl processDefinition)
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addExecutionListener(String eventName, ExecutionListener executionListener)
Deprecated.void
addExecutionListener(String eventName, ExecutionListener executionListener, int index)
Deprecated.void
addToBacklog(String activityRef, ScopeImpl.BacklogErrorCallback callback)
Add's the given activity reference and the error callback to the backlog.boolean
contains(ActivityImpl activity)
ActivityImpl
createActivity(String activityId)
ActivityImpl
findActivity(String activityId)
searches for the activity recursivelyActivityImpl
findActivityAtLevelOfSubprocess(String activityId)
Finds an activity at the same level of subprocess.TransitionImpl
findTransition(String transitionId)
Recursively finds a transition.List<ActivityImpl>
getActivities()
Returns the flow activities of this scope.Collection<ScopeImpl.BacklogErrorCallback>
getBacklogErrorCallbacks()
Returns the backlog error callback's.ActivityImpl
getChildActivity(String activityId)
searches for the activity locallySet<ActivityImpl>
getEventActivities()
Map<String,List<ExecutionListener>>
getExecutionListeners()
Deprecated.List<ExecutionListener>
getExecutionListeners(String eventName)
Deprecated.ProcessDefinitionImpl
getProcessDefinition()
The process definition scope, root of the scope hierarchy.boolean
isAncestorFlowScopeOf(ScopeImpl other)
boolean
isBacklogEmpty()
Returns true if the backlog is empty.boolean
isSubProcessScope()
Indicates whether this scope is a sub process scope.void
setSubProcessScope(boolean isSubProcessScope)
-
Methods inherited from class org.camunda.bpm.engine.impl.core.model.CoreActivity
createActivity, getActivityBehavior, getIoMapping, setIoMapping, toString
-
Methods inherited from class org.camunda.bpm.engine.impl.core.model.CoreModelElement
addBuiltInListener, addBuiltInListener, addBuiltInVariableListener, addBuiltInVariableListener, addListener, addListener, addListenerToMap, addVariableListener, addVariableListener, getBuiltInListeners, getBuiltInListeners, getBuiltInVariableListeners, getBuiltInVariableListenersLocal, getId, getListeners, getListeners, getName, getProperties, getProperty, getVariableListeners, getVariableListenersLocal, setId, setName, setProperties, setProperty
-
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.impl.pvm.PvmProcessElement
getId, getProperties, getProperty
-
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.PvmScope
getEventScope, getFlowScope, getLevelOfSubprocessScope, isScope
-
-
-
-
Field Detail
-
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
-
BACKLOG
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 Detail
-
ScopeImpl
public ScopeImpl(String id, ProcessDefinitionImpl processDefinition)
-
-
Method Detail
-
findActivity
public ActivityImpl findActivity(String activityId)
Description copied from class:CoreActivity
searches for the activity recursively- Specified by:
findActivity
in interfacePvmScope
- Overrides:
findActivity
in classCoreActivity
- Parameters:
activityId
- the id of the activity to find.- Returns:
- the activity or null
-
findTransition
public TransitionImpl findTransition(String transitionId)
Description copied from interface:PvmScope
Recursively finds a transition.- Specified by:
findTransition
in interfacePvmScope
- Parameters:
transitionId
- the transiton to find- Returns:
- 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 interfacePvmScope
- Parameters:
activityId
- the id of the activity to find.- Returns:
- the activity or null
-
getChildActivity
public ActivityImpl getChildActivity(String activityId)
searches for the activity locally- Specified by:
getChildActivity
in classCoreActivity
-
getBacklogErrorCallbacks
public Collection<ScopeImpl.BacklogErrorCallback> getBacklogErrorCallbacks()
Returns the backlog error callback's.- Returns:
- the callback's
-
isBacklogEmpty
public boolean isBacklogEmpty()
Returns true if the backlog is empty.- Returns:
- 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.- Parameters:
activityRef
- the activity reference which is not read until nowcallback
- the error callback which should called if activity will not be read
-
createActivity
public ActivityImpl createActivity(String activityId)
- Specified by:
createActivity
in classCoreActivity
-
isAncestorFlowScopeOf
public boolean isAncestorFlowScopeOf(ScopeImpl other)
-
contains
public boolean contains(ActivityImpl activity)
-
getExecutionListeners
@Deprecated public List<ExecutionListener> getExecutionListeners(String eventName)
Deprecated.
-
addExecutionListener
@Deprecated public void addExecutionListener(String eventName, ExecutionListener executionListener)
Deprecated.
-
addExecutionListener
@Deprecated public void addExecutionListener(String eventName, ExecutionListener executionListener, int index)
Deprecated.
-
getExecutionListeners
@Deprecated public Map<String,List<ExecutionListener>> getExecutionListeners()
Deprecated.
-
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 theflow scope
.- Specified by:
getActivities
in interfacePvmScope
- Specified by:
getActivities
in classCoreActivity
- Returns:
- 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 interfacePvmScope
- Returns:
- 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 interfacePvmProcessElement
- Returns:
-
-