Class ExclusiveGatewayActivityBehavior
java.lang.Object
org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.GatewayActivityBehavior
org.camunda.bpm.engine.impl.bpmn.behavior.ExclusiveGatewayActivityBehavior
- All Implemented Interfaces:
CoreActivityBehavior<ActivityExecution>
,ActivityBehavior
,SignallableActivityBehavior
implementation of the Exclusive Gateway/XOR gateway/exclusive data-based gateway
as defined in the BPMN specification.
- Author:
- Joram Barrez
-
Field Summary
Fields inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
bpmnActivityBehavior
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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.Methods inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.GatewayActivityBehavior
lockConcurrentRoot
Methods inherited from class org.camunda.bpm.engine.impl.bpmn.behavior.FlowNodeActivityBehavior
execute, leave, leaveIgnoreConditions, signal
-
Field Details
-
LOG
-
-
Constructor Details
-
ExclusiveGatewayActivityBehavior
public ExclusiveGatewayActivityBehavior()
-
-
Method Details
-
doLeave
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 classFlowNodeActivityBehavior
-