Workflow: ezcWorkflowNodeSimpleMerge
[ ]
[ Theoretical background ]
[ ]
[ ]
[ ]
[ ]
Class: ezcWorkflowNodeSimpleMerge
|
This node implements the Simple Merge (XOR-Join) workflow pattern. [
source]
The Simple Merge workflow pattern is to be used to merge the possible paths that are defined by a preceding Exclusive Choice. It is assumed that of these possible paths exactly one is taken and no synchronization takes place.
Use Case Example: After the payment has been performed by either credit card or bank transfer, the order can be processed further.
Incoming nodes: 2..* Outgoing nodes: 1
This example displays how you can use a simple merge to tie together two different execution paths from an exclusive choice into one.
1. <?php
2. $workflow = new ezcWorkflow( 'Test' );
3.
4. // wait for input into the workflow variable value.
5. $input = new ezcWorkflowNodeInput( array( 'value' => new ezcWorkflowConditionIsInt ) );
6. $workflow->startNode->addOutNode( $input );
7.
8. // create the exclusive choice branching node
9. $choice = new ezcWorkflowNodeExclusiveChoice;
10. $intput->addOutNode( $choice );
11.
12. $branch1 = ....; // create nodes for the first branch of execution here..
13. $branch2 = ....; // create nodes for the second branch of execution here..
14.
15. // add the outnodes and set the conditions on the exclusive choice
16. $choice->addConditionalOutNode( new ezcWorkflowConditionVariable( 'value',
17. new ezcWorkflowConditionGreatherThan( 10 ) ),
18. $branch1 );
19. $choice->addConditionalOutNode( new ezcWorkflowConditionVariable( 'value',
20. new ezcWorkflowConditionLessThan( 11 ) ),
21. $branch2 );
22.
23. // Merge the two branches together and continue execution.
24. $merge = new ezcWorkflowNodeSimpleMerge();
25. $merge->addInNode( $branch1 );
26. $merge->addInNode( $branch2 );
27. $merge->addOutNode( $workflow->endNode );
28. ?>
Parents
ezcWorkflowNode
|
--ezcWorkflowNodeMerge
|
--ezcWorkflowNodeSimpleMerge
Inherited Constants
From
ezcWorkflowNode:
Inherited Member Variables
From
ezcWorkflowNodeMerge:
From
ezcWorkflowNode:
Inherited Methods
From
ezcWorkflowNodeMerge :
From
ezcWorkflowNode :
Last updated: Tue, 02 Dec 2008