Zeta Components - high quality PHP components

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