Class ExclusiveGatewayActivityBehavior

All Implemented Interfaces:
CoreActivityBehavior<ActivityExecution>, ActivityBehavior, SignallableActivityBehavior

public class ExclusiveGatewayActivityBehavior extends GatewayActivityBehavior
implementation of the Exclusive Gateway/XOR gateway/exclusive data-based gateway as defined in the BPMN specification.
Author:
Joram Barrez
  • Field Details

  • Constructor Details

    • ExclusiveGatewayActivityBehavior

      public ExclusiveGatewayActivityBehavior()
  • Method Details

    • doLeave

      public void doLeave(ActivityExecution execution)
      The default behaviour of BPMN, taking every outgoing sequence flow (where the condition evaluates to true), is not valid for an exclusive gateway. Hence, this behaviour is overriden and replaced by the correct behavior: selecting the first sequence flow which condition evaluates to true (or which hasn't got a condition) and leaving the activity through that sequence flow. If no sequence flow is selected (ie all conditions evaluate to false), then the default sequence flow is taken (if defined).
      Overrides:
      doLeave in class FlowNodeActivityBehavior