Class 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:
  • Field Details

    • 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 Details

  • Method Details

    • 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
      Returns:
      true if this activity is a 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 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)