Class ActivityImpl
- 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.ActivityImpl
-
- All Implemented Interfaces:
java.io.Serializable
,HasDIBounds
,PvmActivity
,PvmProcessElement
,PvmScope
public class ActivityImpl extends ScopeImpl implements PvmActivity, HasDIBounds
- Author:
- Tom Baeyens, Daniel Meyer, Christopher Zell
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static interface
ActivityImpl.AsyncAfterUpdate
Delegate interface for the asyncAfter property updatestatic interface
ActivityImpl.AsyncBeforeUpdate
Delegate interface for the asyncBefore property update.-
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 ActivityBehavior
activityBehavior
the inner behavior of an activity.protected ActivityStartBehavior
activityStartBehavior
The start behavior for this activity.protected ActivityImpl.AsyncAfterUpdate
delegateAsyncAfterUpdate
The delegate for the async after attribute update.protected ActivityImpl.AsyncBeforeUpdate
delegateAsyncBeforeUpdate
The delegate for the async before attribute update.protected ScopeImpl
eventScope
protected ScopeImpl
flowScope
protected int
height
protected java.util.List<TransitionImpl>
incomingTransitions
protected boolean
isAsyncAfter
protected boolean
isAsyncBefore
protected boolean
isScope
protected java.util.Map<java.lang.String,TransitionImpl>
namedOutgoingTransitions
protected java.util.List<TransitionImpl>
outgoingTransitions
protected int
width
protected int
x
protected int
y
-
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, name, properties, variableListeners
-
-
Constructor Summary
Constructors Constructor Description ActivityImpl(java.lang.String id, ProcessDefinitionImpl processDefinition)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description TransitionImpl
createOutgoingTransition()
TransitionImpl
createOutgoingTransition(java.lang.String transitionId)
ActivityImpl
findCompensationHandler()
Find the compensation handler of this activity.TransitionImpl
findOutgoingTransition(java.lang.String transitionId)
Finds and returns an outgoing sequence flow (transition) by it's id.ActivityBehavior
getActivityBehavior()
The inner behavior of an activity.java.lang.String
getActivityId()
ActivityStartBehavior
getActivityStartBehavior()
The start behavior of an activity.ActivityImpl.AsyncAfterUpdate
getDelegateAsyncAfterUpdate()
ActivityImpl.AsyncBeforeUpdate
getDelegateAsyncBeforeUpdate()
ScopeImpl
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.int
getHeight()
java.util.List<PvmTransition>
getIncomingTransitions()
PvmScope
getLevelOfSubprocessScope()
The "level of subprocess scope" as defined in bpmn: this is the subprocess containing the activity.java.util.List<PvmTransition>
getOutgoingTransitions()
ActivityImpl
getParentFlowScopeActivity()
int
getWidth()
int
getX()
int
getY()
boolean
isAsyncAfter()
Indicates whether execution after this execution should continue asynchronously.boolean
isAsyncBefore()
Indicates whether the activity is executed asynchronously.boolean
isCompensationHandler()
Indicates whether activity is for compensation.boolean
isMultiInstance()
Indicates whether activity is a multi instance 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
isTriggeredByEvent()
void
setActivityBehavior(ActivityBehavior activityBehavior)
void
setActivityStartBehavior(ActivityStartBehavior activityStartBehavior)
void
setAsyncAfter(boolean isAsyncAfter)
void
setAsyncAfter(boolean isAsyncAfter, boolean exclusive)
void
setAsyncBefore(boolean isAsyncBefore)
void
setAsyncBefore(boolean isAsyncBefore, boolean exclusive)
void
setDelegateAsyncAfterUpdate(ActivityImpl.AsyncAfterUpdate delegateAsyncAfterUpdate)
void
setDelegateAsyncBeforeUpdate(ActivityImpl.AsyncBeforeUpdate delegateAsyncBeforeUpdate)
void
setEventScope(ScopeImpl eventScope)
void
setHeight(int height)
protected void
setIncomingTransitions(java.util.List<TransitionImpl> incomingTransitions)
protected void
setOutgoingTransitions(java.util.List<TransitionImpl> outgoingTransitions)
void
setScope(boolean isScope)
void
setWidth(int width)
void
setX(int x)
void
setY(int y)
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, isSubProcessScope, 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, isSubProcessScope
-
-
-
-
Field Detail
-
outgoingTransitions
protected java.util.List<TransitionImpl> outgoingTransitions
-
namedOutgoingTransitions
protected java.util.Map<java.lang.String,TransitionImpl> namedOutgoingTransitions
-
incomingTransitions
protected java.util.List<TransitionImpl> incomingTransitions
-
activityBehavior
protected ActivityBehavior activityBehavior
the inner behavior of an activity. For activities which are flow scopes, this must be a CompositeActivityBehavior.
-
activityStartBehavior
protected ActivityStartBehavior activityStartBehavior
The start behavior for this activity.
-
eventScope
protected ScopeImpl eventScope
-
flowScope
protected ScopeImpl flowScope
-
isScope
protected boolean isScope
-
isAsyncBefore
protected boolean isAsyncBefore
-
isAsyncAfter
protected boolean isAsyncAfter
-
x
protected int x
-
y
protected int y
-
width
protected int width
-
height
protected int height
-
delegateAsyncBeforeUpdate
protected ActivityImpl.AsyncBeforeUpdate delegateAsyncBeforeUpdate
The delegate for the async before attribute update.
-
delegateAsyncAfterUpdate
protected ActivityImpl.AsyncAfterUpdate delegateAsyncAfterUpdate
The delegate for the async after attribute update.
-
-
Constructor Detail
-
ActivityImpl
public ActivityImpl(java.lang.String id, ProcessDefinitionImpl processDefinition)
-
-
Method Detail
-
createOutgoingTransition
public TransitionImpl createOutgoingTransition()
-
createOutgoingTransition
public TransitionImpl createOutgoingTransition(java.lang.String transitionId)
-
findOutgoingTransition
public TransitionImpl findOutgoingTransition(java.lang.String transitionId)
Description copied from interface:PvmActivity
Finds and returns an outgoing sequence flow (transition) by it's id.- Specified by:
findOutgoingTransition
in interfacePvmActivity
- Parameters:
transitionId
- the id of the transition to find- Returns:
- the transition or null in case it cannot be found
-
toString
public java.lang.String toString()
- Overrides:
toString
in classCoreActivity
-
setOutgoingTransitions
protected void setOutgoingTransitions(java.util.List<TransitionImpl> outgoingTransitions)
-
setIncomingTransitions
protected void setIncomingTransitions(java.util.List<TransitionImpl> incomingTransitions)
-
getOutgoingTransitions
public java.util.List<PvmTransition> getOutgoingTransitions()
- Specified by:
getOutgoingTransitions
in interfacePvmActivity
- Returns:
- the list of outgoing sequence flows (transitions)
-
getActivityBehavior
public ActivityBehavior getActivityBehavior()
Description copied from interface:PvmActivity
The inner behavior of an activity. The inner behavior is the logic which is executed after thestart
listeners have been executed. In case the activityis scope
, a new execution will be created- Specified by:
getActivityBehavior
in interfacePvmActivity
- Specified by:
getActivityBehavior
in classCoreActivity
- Returns:
- the inner behavior of the activity
-
setActivityBehavior
public void setActivityBehavior(ActivityBehavior activityBehavior)
-
getActivityStartBehavior
public ActivityStartBehavior getActivityStartBehavior()
Description copied from interface:PvmActivity
The start behavior of an activity. The start behavior is executed before thestart
listeners of the activity are executed.- Specified by:
getActivityStartBehavior
in interfacePvmActivity
- Returns:
- the start behavior of an activity.
-
setActivityStartBehavior
public void setActivityStartBehavior(ActivityStartBehavior activityStartBehavior)
-
getIncomingTransitions
public java.util.List<PvmTransition> getIncomingTransitions()
- Specified by:
getIncomingTransitions
in interfacePvmActivity
- Returns:
- the list of incoming sequence flows (transitions)
-
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.
-
setScope
public void setScope(boolean isScope)
-
isAsyncBefore
public boolean isAsyncBefore()
Description copied from interface:PvmActivity
Indicates whether the activity is executed asynchronously. This can be done after theactivity start behavior
and before thestart
listeners are invoked.- Specified by:
isAsyncBefore
in interfacePvmActivity
- Returns:
- true if the activity is executed asynchronously.
-
setAsyncBefore
public void setAsyncBefore(boolean isAsyncBefore)
-
setAsyncBefore
public void setAsyncBefore(boolean isAsyncBefore, boolean exclusive)
-
isAsyncAfter
public boolean isAsyncAfter()
Description copied from interface:PvmActivity
Indicates whether execution after this execution should continue asynchronously. This can be done after theend
listeners are invoked.- Specified by:
isAsyncAfter
in interfacePvmActivity
- Returns:
- true if execution after this activity continues asynchronously.
-
setAsyncAfter
public void setAsyncAfter(boolean isAsyncAfter)
-
setAsyncAfter
public void setAsyncAfter(boolean isAsyncAfter, boolean exclusive)
-
getActivityId
public java.lang.String getActivityId()
-
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
-
getEventScope
public ScopeImpl 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
-
setEventScope
public void setEventScope(ScopeImpl eventScope)
-
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
-
getX
public int getX()
- Specified by:
getX
in interfaceHasDIBounds
-
setX
public void setX(int x)
- Specified by:
setX
in interfaceHasDIBounds
-
getY
public int getY()
- Specified by:
getY
in interfaceHasDIBounds
-
setY
public void setY(int y)
- Specified by:
setY
in interfaceHasDIBounds
-
getWidth
public int getWidth()
- Specified by:
getWidth
in interfaceHasDIBounds
-
setWidth
public void setWidth(int width)
- Specified by:
setWidth
in interfaceHasDIBounds
-
getHeight
public int getHeight()
- Specified by:
getHeight
in interfaceHasDIBounds
-
setHeight
public void setHeight(int height)
- Specified by:
setHeight
in interfaceHasDIBounds
-
getParentFlowScopeActivity
public ActivityImpl getParentFlowScopeActivity()
-
isCompensationHandler
public boolean isCompensationHandler()
Indicates whether activity is for compensation.- Returns:
- true if this activity is for compensation.
-
findCompensationHandler
public ActivityImpl findCompensationHandler()
Find the compensation handler of this activity.- Returns:
- the compensation handler or
null
, if this activity has no compensation handler.
-
isMultiInstance
public boolean isMultiInstance()
Indicates whether activity is a multi instance activity.- Returns:
- true if this activity is a multi instance activity.
-
isTriggeredByEvent
public boolean isTriggeredByEvent()
-
getDelegateAsyncBeforeUpdate
public ActivityImpl.AsyncBeforeUpdate getDelegateAsyncBeforeUpdate()
-
setDelegateAsyncBeforeUpdate
public void setDelegateAsyncBeforeUpdate(ActivityImpl.AsyncBeforeUpdate delegateAsyncBeforeUpdate)
-
getDelegateAsyncAfterUpdate
public ActivityImpl.AsyncAfterUpdate getDelegateAsyncAfterUpdate()
-
setDelegateAsyncAfterUpdate
public void setDelegateAsyncAfterUpdate(ActivityImpl.AsyncAfterUpdate delegateAsyncAfterUpdate)
-
-