org.camunda.bpm.engine.impl.pvm.process
Class ActivityImpl

java.lang.Object
  extended by org.camunda.bpm.engine.impl.core.model.CoreModelElement
      extended by org.camunda.bpm.engine.impl.core.model.CoreActivity
          extended by org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
              extended by org.camunda.bpm.engine.impl.pvm.process.ActivityImpl
All Implemented Interfaces:
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
static interface ActivityImpl.AsyncAfterUpdate
          Delegate interface for the asyncAfter property update
static interface ActivityImpl.AsyncBeforeUpdate
          Delegate interface for the asyncBefore property update.
 
Field Summary
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  List<TransitionImpl> incomingTransitions
           
protected  boolean isAsyncAfter
           
protected  boolean isAsyncBefore
           
protected  boolean isScope
           
protected  Map<String,TransitionImpl> namedOutgoingTransitions
           
protected  List<TransitionImpl> outgoingTransitions
           
protected  int width
           
protected  int x
           
protected  int y
           
 
Fields inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
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
ActivityImpl(String id, ProcessDefinitionImpl processDefinition)
           
 
Method Summary
 TransitionImpl createOutgoingTransition()
           
 TransitionImpl createOutgoingTransition(String transitionId)
           
 ActivityImpl findCompensationHandler()
          Find the compensation handler of this activity.
 TransitionImpl findOutgoingTransition(String transitionId)
          Finds and returns an outgoing sequence flow (transition) by it's id.
 ActivityBehavior getActivityBehavior()
          The inner behavior of an activity.
 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()
           
 List<PvmTransition> getIncomingTransitions()
           
 PvmScope getLevelOfSubprocessScope()
          The "level of subprocess scope" as defined in bpmn: this is the subprocess containing the activity.
 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(List<TransitionImpl> incomingTransitions)
           
protected  void setOutgoingTransitions(List<TransitionImpl> outgoingTransitions)
           
 void setScope(boolean isScope)
           
 void setWidth(int width)
           
 void setX(int x)
           
 void setY(int y)
           
 String toString()
           
 
Methods inherited from class org.camunda.bpm.engine.impl.pvm.process.ScopeImpl
addExecutionListener, addExecutionListener, contains, createActivity, findActivity, findActivityAtLevelOfSubprocess, findTransition, getActivities, getChildActivity, getExecutionListeners, getExecutionListeners, getProcessDefinition, isAncestorFlowScopeOf, 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.PvmScope
findActivity, findActivityAtLevelOfSubprocess, findTransition, getActivities, isSubProcessScope
 
Methods inherited from interface org.camunda.bpm.engine.impl.pvm.PvmProcessElement
getId, getProcessDefinition, getProperties, getProperty
 

Field Detail

outgoingTransitions

protected List<TransitionImpl> outgoingTransitions

namedOutgoingTransitions

protected Map<String,TransitionImpl> namedOutgoingTransitions

incomingTransitions

protected 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(String id,
                    ProcessDefinitionImpl processDefinition)
Method Detail

createOutgoingTransition

public TransitionImpl createOutgoingTransition()

createOutgoingTransition

public TransitionImpl createOutgoingTransition(String transitionId)

findOutgoingTransition

public TransitionImpl findOutgoingTransition(String transitionId)
Description copied from interface: PvmActivity
Finds and returns an outgoing sequence flow (transition) by it's id.

Specified by:
findOutgoingTransition in interface PvmActivity
Parameters:
transitionId - the id of the transition to find
Returns:
the transition or null in case it cannot be found

toString

public String toString()
Overrides:
toString in class CoreActivity

setOutgoingTransitions

protected void setOutgoingTransitions(List<TransitionImpl> outgoingTransitions)

setIncomingTransitions

protected void setIncomingTransitions(List<TransitionImpl> incomingTransitions)

getOutgoingTransitions

public List<PvmTransition> getOutgoingTransitions()
Specified by:
getOutgoingTransitions in interface PvmActivity
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 the start listeners have been executed. In case the activity is scope, a new execution will be created

Specified by:
getActivityBehavior in interface PvmActivity
Specified by:
getActivityBehavior in class CoreActivity
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 the start listeners of the activity are executed.

Specified by:
getActivityStartBehavior in interface PvmActivity
Returns:
the start behavior of an activity.

setActivityStartBehavior

public void setActivityStartBehavior(ActivityStartBehavior activityStartBehavior)

getIncomingTransitions

public List<PvmTransition> getIncomingTransitions()
Specified by:
getIncomingTransitions in interface PvmActivity
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.

Specified by:
isScope in interface PvmScope

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 the activity start behavior and before the start listeners are invoked.

Specified by:
isAsyncBefore in interface PvmActivity
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 the end listeners are invoked.

Specified by:
isAsyncAfter in interface PvmActivity
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 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 interface PvmScope

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 the flow scope.. Consider: boundary events have a different event scope than flow scope.

The event scope is always a scope.

Specified by:
getEventScope in interface PvmScope
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 interface PvmScope
Returns:
the level of subprocess scope as defined in bpmn

getX

public int getX()
Specified by:
getX in interface HasDIBounds

setX

public void setX(int x)
Specified by:
setX in interface HasDIBounds

getY

public int getY()
Specified by:
getY in interface HasDIBounds

setY

public void setY(int y)
Specified by:
setY in interface HasDIBounds

getWidth

public int getWidth()
Specified by:
getWidth in interface HasDIBounds

setWidth

public void setWidth(int width)
Specified by:
setWidth in interface HasDIBounds

getHeight

public int getHeight()
Specified by:
getHeight in interface HasDIBounds

setHeight

public void setHeight(int height)
Specified by:
setHeight in interface HasDIBounds

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)


Copyright © 2016 camunda services GmbH. All rights reserved.