Path

ez components / documentation / api reference / trunk / workflow


eZ Components trunk

Workflow: ezcWorkflowNodeMerge

[ Tutorial ] [ Theoretical background ] [ Class tree ] [ Element index ] [ ChangeLog ] [ Credits ]

Class: ezcWorkflowNodeMerge

Base class for nodes that merge multiple threads of execution. [source]

Parents

ezcWorkflowNode
   |
   --ezcWorkflowNodeMerge

Descendents

Child Class Description
ezcWorkflowNodeSynchronization This node implements the Synchronization (AND-Join) workflow pattern.
ezcWorkflowNodeDiscriminator This node implements the Discriminator 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

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 initState( )
Initializes the state of this 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.
protected void ezcWorkflowNode::initState()
Initializes the state 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  

initState

void initState( )
Initializes the state of this node.

Redefinition of

Method Description
ezcWorkflowNode::initState() Initializes the state of this node.

prepareActivate

void prepareActivate( ezcWorkflowExecution $execution, [int $threadId = 0] )
Prepares this node for activation.

Parameters

Name Type Description
$execution ezcWorkflowExecution  
$threadId int  

Throws

ClassDescription
ezcWorkflowExecutionException

Last updated: Thu, 03 Jul 2008