Class ProcessDefinitionImpl
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
org.camunda.bpm.engine.impl.pvm.process.ProcessDefinitionImpl
- All Implemented Interfaces:
Serializable
,PvmProcessDefinition
,PvmProcessElement
,PvmScope
,ReadOnlyProcessDefinition
- Direct Known Subclasses:
ProcessDefinitionEntity
- Author:
- Tom Baeyens, Daniel Meyer
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
ScopeImpl.BacklogErrorCallback
-
Field Summary
Modifier and TypeFieldDescriptionprotected String
protected ActivityImpl
protected Map<ActivityImpl,
List<ActivityImpl>> protected String
protected ParticipantProcess
Fields inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
BACKLOG, eventActivities, flowActivities, isSubProcessScope, namedFlowActivities, 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, properties, variableListeners
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addLaneSet
(LaneSet newLaneSet) createProcessInstance
(String businessKey) createProcessInstance
(String businessKey, String caseInstanceId) createProcessInstance
(String businessKey, String caseInstanceId, ActivityImpl initial) createProcessInstance
(String businessKey, ActivityImpl initial) creates a process instance using the provided activity as initialprotected void
CoreActivityBehavior<? extends BaseDelegateExecution>
The event scope for an activity is the scope in which the activity listens for events.The flow scope of the activity.getInitialActivityStack
(ActivityImpl startActivity) getLaneForId
(String id) 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.protected PvmExecutionImpl
void
setInitial
(ActivityImpl initial) void
setParticipantProcess
(ParticipantProcess participantProcess) toString()
Methods inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
addExecutionListener, addExecutionListener, addToBacklog, contains, createActivity, findActivity, findActivityAtLevelOfSubprocess, findTransition, getActivities, getBacklogErrorCallbacks, getChildActivity, getEventActivities, getExecutionListeners, getExecutionListeners, getProcessDefinition, isAncestorFlowScopeOf, isBacklogEmpty, setSubProcessScope
Methods inherited from class org.camunda.bpm.engine.impl.core.model.CoreActivity
createActivity, getIoMapping, setIoMapping
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, getProcessDefinition, getProperties, getProperty
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.PvmScope
findActivity, findActivityAtLevelOfSubprocess, findTransition, getActivities
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.ReadOnlyProcessDefinition
getName
-
Field Details
-
name
-
description
-
initial
-
initialActivityStacks
-
laneSets
-
participantProcess
-
-
Constructor Details
-
ProcessDefinitionImpl
-
-
Method Details
-
ensureDefaultInitialExists
protected void ensureDefaultInitialExists() -
createProcessInstance
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
-
createProcessInstance
public PvmProcessInstance createProcessInstance(String businessKey, String caseInstanceId, ActivityImpl initial) -
createProcessInstanceForInitial
creates a process instance using the provided activity as initial -
newProcessInstance
-
getInitialActivityStack
-
getInitialActivityStack
-
getDiagramResourceName
- Specified by:
getDiagramResourceName
in interfaceReadOnlyProcessDefinition
-
getDeploymentId
- Specified by:
getDeploymentId
in interfacePvmProcessDefinition
-
addLaneSet
-
getLaneForId
-
getActivityBehavior
- Specified by:
getActivityBehavior
in classCoreActivity
-
getInitial
- Specified by:
getInitial
in interfaceReadOnlyProcessDefinition
-
setInitial
-
toString
- Overrides:
toString
in classCoreActivity
-
getDescription
- Specified by:
getDescription
in interfaceReadOnlyProcessDefinition
-
getLaneSets
- Returns:
- all lane-sets defined on this process-instance. Returns an empty list if none are defined.
-
setParticipantProcess
-
getParticipantProcess
-
isScope
public boolean isScope()Description copied from interface:PvmScope
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.
-
getEventScope
Description copied from interface:PvmScope
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
.- Specified by:
getEventScope
in interfacePvmScope
- Returns:
- the event scope of the activity
-
getFlowScope
Description copied from interface:PvmScope
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.- Specified by:
getFlowScope
in interfacePvmScope
-
getLevelOfSubprocessScope
Description copied from interface:PvmScope
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.- Specified by:
getLevelOfSubprocessScope
in interfacePvmScope
- Returns:
- the level of subprocess scope as defined in bpmn
-
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
- Overrides:
isSubProcessScope
in classScopeImpl
- Returns:
- true if this is a sub process scope
-