This node implements the Exclusive Choice workflow pattern.
The Exclusive Choice workflow pattern defines multiple possible paths for the workflow of which exactly one is chosen based on the conditions set for the out nodes.
Incoming nodes: 1 Outgoing nodes: 2..*
This example displays how you can use an exclusive choice to select one of two possible branches depending on the workflow variable 'value' which is read using an input node.
Source for this file: /Workflow/src/nodes/control_flow/exclusive_choice.php
ezcWorkflowNode | --ezcWorkflowNodeBranch | --ezcWorkflowNodeConditionalBranch | --ezcWorkflowNodeExclusiveChoice
Version: | //autogen// |
From ezcWorkflowNode: | |
---|---|
ezcWorkflowNode::WAITING_FOR_ACTIVATION
|
The node is waiting to be activated. |
ezcWorkflowNode::WAITING_FOR_EXECUTION
|
The node is activated and waiting to be executed. |
protected integer |
$maxActivatedConditionalOutNodes
= 1
Constraint: The maximum number of conditional outgoing nodes this node may activate. Set to false to disable this constraint. |
protected integer |
$minActivatedConditionalOutNodes
= 1
Constraint: The minimum number of conditional outgoing nodes this node has to activate. Set to false to disable this constraint. |
protected integer |
$minConditionalOutNodes
= 2
Constraint: The minimum number of conditional outgoing nodes this node has to have. Set to false to disable this constraint. |
From ezcWorkflowNodeConditionalBranch | |
---|---|
protected |
ezcWorkflowNodeConditionalBranch::$configuration
|
From ezcWorkflowNodeBranch | |
protected |
ezcWorkflowNodeBranch::$maxOutNodes
|
protected |
ezcWorkflowNodeBranch::$minOutNodes
|
protected |
ezcWorkflowNodeBranch::$startNewThreadForBranch
|
From ezcWorkflowNode | |
protected |
ezcWorkflowNode::$activatedFrom
|
protected |
ezcWorkflowNode::$activationState
|
protected |
ezcWorkflowNode::$id
|
protected |
ezcWorkflowNode::$inNodes
|
protected |
ezcWorkflowNode::$internalCall
|
protected |
ezcWorkflowNode::$maxInNodes
|
protected |
ezcWorkflowNode::$minInNodes
|
protected |
ezcWorkflowNode::$numInNodes
|
protected |
ezcWorkflowNode::$numOutNodes
|
protected |
ezcWorkflowNode::$outNodes
|
protected |
ezcWorkflowNode::$state
|
protected |
ezcWorkflowNode::$threadId
|
From ezcWorkflowNodeConditionalBranch | |
---|---|
public ezcWorkflowNode |
ezcWorkflowNodeConditionalBranch::addConditionalOutNode()
Adds the conditional outgoing node $outNode to this node with the condition $condition. Optionally, an $else node can be specified that is activated when the $condition evaluates to false. |
public void |
ezcWorkflowNodeConditionalBranch::verify()
Checks this node's constraints. |
From ezcWorkflowNodeBranch | |
protected boolean |
ezcWorkflowNodeBranch::activateOutgoingNodes()
Activates this node's outgoing nodes. |
From ezcWorkflowNode | |
public ezcWorkflowNode |
ezcWorkflowNode::__construct()
Constructs a new node with the configuration $configuration. |
public void |
ezcWorkflowNode::accept()
Reimplementation of accept() calls accept on all out nodes. |
protected void |
ezcWorkflowNode::activateNode()
Convenience method for activating an (outgoing) node. |
public ezcWorkflowNode |
ezcWorkflowNode::addInNode()
Adds a node to the incoming nodes of this node. |
public ezcWorkflowNode |
ezcWorkflowNode::addOutNode()
Adds a node to the outgoing nodes of this node. |
public mixed |
ezcWorkflowNode::getConfiguration()
Returns the configuration of this node. |
public ezcWorkflowNode[] |
ezcWorkflowNode::getInNodes()
Returns the incoming nodes of this node. |
public ezcWorkflowNode[] |
ezcWorkflowNode::getOutNodes()
Returns the outgoing nodes of this node. |
public boolean |
ezcWorkflowNode::removeInNode()
Removes a node from the incoming nodes of this node. |
public boolean |
ezcWorkflowNode::removeOutNode()
Removes a node from the outgoing nodes of this node. |
public void |
ezcWorkflowNode::verify()
Checks this node's constraints. |