## Apache Zeta Components Manual :: Docs For Class ezcWorkflowNodeMerge

### Workflow::ezcWorkflowNodeMerge

### Class ezcWorkflowNodeMerge

Base class for nodes that merge multiple threads of execution.

Source for this file: /Workflow/src/interfaces/node_merge.php

    ezcWorkflowNode
       |
       --ezcWorkflowNodeMerge

Version: | //autogen//

### Descendants

Child Class | Description
--- | ---
ezcWorkflowNodeDiscriminator | This node implements the Discriminator workflow pattern.
ezcWorkflowNodeSynchronization | This node implements the Synchronization (AND-Join) workflow pattern.
ezcWorkflowNodeSimpleMerge | This node implements the Simple Merge (XOR-Join) workflow pattern.

### Inherited Constants

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.

### Member Variables

protected integer | `$maxInNodes = false` Constraint: The maximum number of incoming nodes this node has to have to be valid.
protected integer | `$minInNodes = 2` Constraint: The minimum number of incoming nodes this node has to have to be valid.
protected array | `$state` The state of this node.

### Inherited Member Variables

From ezcWorkflowNode
protected | `ezcWorkflowNode::$activatedFrom`
protected | `ezcWorkflowNode::$activationState`
protected | `ezcWorkflowNode::$configuration`
protected | `ezcWorkflowNode::$id`
protected | `ezcWorkflowNode::$inNodes`
protected | `ezcWorkflowNode::$internalCall`
protected | `ezcWorkflowNode::$maxOutNodes`
protected | `ezcWorkflowNode::$minOutNodes`
protected | `ezcWorkflowNode::$numInNodes`
protected | `ezcWorkflowNode::$numOutNodes`
protected | `ezcWorkflowNode::$outNodes`
protected | `ezcWorkflowNode::$threadId`

### Method Summary

protected boolean | `doMerge( $execution )` Performs the merge by ending the incoming threads and activating the outgoing node.
protected void | `prepareActivate( $execution , [ $threadId = 0] )` Prepares this node for activation.

### Inherited Methods

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.

### Methods

#### doMerge

boolean doMerge( ezcWorkflowExecution $execution )

Performs the merge by ending the incoming threads and activating the outgoing node.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$execution` | ezcWorkflowExecution |

#### prepareActivate

void prepareActivate( ezcWorkflowExecution $execution , [int $threadId = 0] )

Prepares this node for activation.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$execution` | ezcWorkflowExecution |
`$threadId` | int |

##### Exceptions:

Type | Description
--- | ---
`ezcWorkflowExecutionException` |

Documentation generated by phpDocumentor 1.4.3