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:
java.io.Serializable
,PvmProcessDefinition
,PvmProcessElement
,PvmScope
,ReadOnlyProcessDefinition
- Direct Known Subclasses:
ProcessDefinitionEntity
public class ProcessDefinitionImpl extends ScopeImpl implements PvmProcessDefinition
- Author:
- Tom Baeyens, Daniel Meyer
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
ScopeImpl.BacklogErrorCallback
-
-
Field Summary
Fields Modifier and Type Field Description protected java.lang.String
description
protected ActivityImpl
initial
protected java.util.Map<ActivityImpl,java.util.List<ActivityImpl>>
initialActivityStacks
protected java.util.List<LaneSet>
laneSets
protected java.lang.String
name
protected ParticipantProcess
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
Constructors Constructor Description ProcessDefinitionImpl(java.lang.String id)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addLaneSet(LaneSet newLaneSet)
PvmProcessInstance
createProcessInstance()
PvmProcessInstance
createProcessInstance(java.lang.String businessKey)
PvmProcessInstance
createProcessInstance(java.lang.String businessKey, java.lang.String caseInstanceId)
PvmProcessInstance
createProcessInstance(java.lang.String businessKey, java.lang.String caseInstanceId, ActivityImpl initial)
PvmProcessInstance
createProcessInstance(java.lang.String businessKey, ActivityImpl initial)
PvmProcessInstance
createProcessInstanceForInitial(ActivityImpl initial)
creates a process instance using the provided activity as initialprotected void
ensureDefaultInitialExists()
CoreActivityBehavior<? extends BaseDelegateExecution>
getActivityBehavior()
java.lang.String
getDeploymentId()
java.lang.String
getDescription()
java.lang.String
getDiagramResourceName()
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.ActivityImpl
getInitial()
java.util.List<ActivityImpl>
getInitialActivityStack()
java.util.List<ActivityImpl>
getInitialActivityStack(ActivityImpl startActivity)
Lane
getLaneForId(java.lang.String id)
java.util.List<LaneSet>
getLaneSets()
PvmScope
getLevelOfSubprocessScope()
The "level of subprocess scope" as defined in bpmn: this is the subprocess containing the activity.ParticipantProcess
getParticipantProcess()
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.protected PvmExecutionImpl
newProcessInstance()
void
setInitial(ActivityImpl initial)
void
setParticipantProcess(ParticipantProcess participantProcess)
java.lang.String
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 Detail
-
name
protected java.lang.String name
-
description
protected java.lang.String description
-
initial
protected ActivityImpl initial
-
initialActivityStacks
protected java.util.Map<ActivityImpl,java.util.List<ActivityImpl>> initialActivityStacks
-
laneSets
protected java.util.List<LaneSet> laneSets
-
participantProcess
protected ParticipantProcess participantProcess
-
-
Method Detail
-
ensureDefaultInitialExists
protected void ensureDefaultInitialExists()
-
createProcessInstance
public PvmProcessInstance createProcessInstance()
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
public PvmProcessInstance createProcessInstance(java.lang.String businessKey)
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
public PvmProcessInstance createProcessInstance(java.lang.String businessKey, java.lang.String caseInstanceId)
- Specified by:
createProcessInstance
in interfacePvmProcessDefinition
-
createProcessInstance
public PvmProcessInstance createProcessInstance(java.lang.String businessKey, ActivityImpl initial)
-
createProcessInstance
public PvmProcessInstance createProcessInstance(java.lang.String businessKey, java.lang.String caseInstanceId, ActivityImpl initial)
-
createProcessInstanceForInitial
public PvmProcessInstance createProcessInstanceForInitial(ActivityImpl initial)
creates a process instance using the provided activity as initial
-
newProcessInstance
protected PvmExecutionImpl newProcessInstance()
-
getInitialActivityStack
public java.util.List<ActivityImpl> getInitialActivityStack()
-
getInitialActivityStack
public java.util.List<ActivityImpl> getInitialActivityStack(ActivityImpl startActivity)
-
getDiagramResourceName
public java.lang.String getDiagramResourceName()
- Specified by:
getDiagramResourceName
in interfaceReadOnlyProcessDefinition
-
getDeploymentId
public java.lang.String getDeploymentId()
- Specified by:
getDeploymentId
in interfacePvmProcessDefinition
-
addLaneSet
public void addLaneSet(LaneSet newLaneSet)
-
getLaneForId
public Lane getLaneForId(java.lang.String id)
-
getActivityBehavior
public CoreActivityBehavior<? extends BaseDelegateExecution> getActivityBehavior()
- Specified by:
getActivityBehavior
in classCoreActivity
-
getInitial
public ActivityImpl getInitial()
- Specified by:
getInitial
in interfaceReadOnlyProcessDefinition
-
setInitial
public void setInitial(ActivityImpl initial)
-
toString
public java.lang.String toString()
- Overrides:
toString
in classCoreActivity
-
getDescription
public java.lang.String getDescription()
- Specified by:
getDescription
in interfaceReadOnlyProcessDefinition
-
getLaneSets
public java.util.List<LaneSet> getLaneSets()
- Returns:
- all lane-sets defined on this process-instance. Returns an empty list if none are defined.
-
setParticipantProcess
public void setParticipantProcess(ParticipantProcess participantProcess)
-
getParticipantProcess
public ParticipantProcess 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
public PvmScope 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
public ScopeImpl 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
public PvmScope 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
-
-