Path

ez components / documentation / api reference / 2009.2.1 / workflow


eZ Components 2009.2.1

Workflow: ezcWorkflow

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

Class: ezcWorkflow

Class representing a workflow. [source]

Implemented Interfaces

Properties

ezcWorkflowDefinitonStorage read/write  $definitionStorage
The definition handler used to fetch sub workflows on demand. This property is set automatically if you load a workflow using a workflow definition storage.
ezcWorkflowNodeEnd read  $endNode
The default end node of the workflow.
ezcWorkflowNodeFinally read  $finallyNode
The start of a node sequence that is executed when a workflow execution is cancelled.
int read/write  $id
Unique ID set automatically by the definition handler when the workflow is stored.
string read/write  $name
A unique name (accross the system) for this workflow.
array(ezcWorkflowNode) read  $nodes
All the nodes of this workflow.
ezcWorkflowNodeStart read  $startNode
The unique start node of the workflow.
int read/write  $version
The version of the workflow. This must be incremented manually whenever you want a new version.

Member Variables

protected array(string=>mixed) $properties = array(
'definitionStorage' => null,
'id' => false,
'name' => '',
'startNode' => null,
'endNode' => null,
'finallyNode' => null,
'version' => 1
)

Container to hold the properties
protected array $variableHandlers = array()
The variable handlers of this workflow.

Method Summary

public ezcWorkflow __construct( $name, [$startNode = null], [$endNode = null], [$finallyNode = null] )
Constructs a new workflow object with the name $name.
public void accept( $visitor )
Overridden implementation of accept() calls accept on the start node.
public void addVariableHandler( $variableName, $className )
Sets the class $className to handle the variable named $variableName.
public integer count( )
Returns the number of nodes of this workflow.
public array getVariableHandlers( )
Returns the variable handlers.
public boolean hasSubWorkflows( )
Returns true when the workflow has sub workflows (ie. when it contains ezcWorkflowNodeSubWorkflow nodes) and false otherwise.
public boolean isInteractive( )
Returns true when the workflow requires user interaction (ie. when it contains ezcWorkflowNodeInput nodes) and false otherwise.
public boolean removeVariableHandler( $variableName )
Removes the handler for $variableName and returns true on success.
public void reset( )
Resets the nodes of this workflow.
public void setVariableHandlers( $variableHandlers )
Sets handlers for multiple variables.
public void verify( )
Verifies the specification of this workflow.

Methods

__construct

ezcWorkflow __construct( string $name, [ezcWorkflowNodeStart $startNode = null], [ezcWorkflowNodeEnd $endNode = null], [ezcWorkflowNodeFinally $finallyNode = null] )
Constructs a new workflow object with the name $name.
Use $startNode and $endNode parameters if you don't want to use the default start and end nodes.
$name must uniquely identify the workflow within the system.

Parameters

Name Type Description
$name string The name of the workflow.
$startNode ezcWorkflowNodeStart The start node of the workflow.
$endNode ezcWorkflowNodeEnd The default end node of the workflow.
$finallyNode ezcWorkflowNodeFinally The start of a node sequence that is executed when a workflow execution is cancelled.

accept

void accept( ezcWorkflowVisitor $visitor )
Overridden implementation of accept() calls accept on the start node.

Parameters

Name Type Description
$visitor ezcWorkflowVisitor  

addVariableHandler

void addVariableHandler( string $variableName, string $className )
Sets the class $className to handle the variable named $variableName.
$className must be the name of a class implementing the ezcWorkflowVariableHandler interface.

Parameters

Name Type Description
$variableName string  
$className string  

Throws

ClassDescription
ezcWorkflowInvalidWorkflowException if $className does not contain the name of a valid class implementing ezcWorkflowVariableHandler

count

integer count( )
Returns the number of nodes of this workflow.

getVariableHandlers

array getVariableHandlers( )
Returns the variable handlers.
The format of the returned array is array( 'variableName' => ezcWorkflowVariableHandler )

hasSubWorkflows

boolean hasSubWorkflows( )
Returns true when the workflow has sub workflows (ie. when it contains ezcWorkflowNodeSubWorkflow nodes) and false otherwise.

isInteractive

boolean isInteractive( )
Returns true when the workflow requires user interaction (ie. when it contains ezcWorkflowNodeInput nodes) and false otherwise.

removeVariableHandler

boolean removeVariableHandler( string $variableName )
Removes the handler for $variableName and returns true on success.
Returns false if no handler was set for $variableName.

Parameters

Name Type Description
$variableName string  

reset

void reset( )
Resets the nodes of this workflow.
See the documentation of ezcWorkflowVisitorReset for details.

setVariableHandlers

void setVariableHandlers( $variableHandlers )
Sets handlers for multiple variables.
The format of $variableHandlers is array( 'variableName' => ezcWorkflowVariableHandler )

Parameters

Name Type Description
$variableHandlers array  

Throws

ClassDescription
ezcWorkflowInvalidWorkflowException if $className does not contain the name of a valid class implementing ezcWorkflowVariableHandler

verify

void verify( )
Verifies the specification of this workflow.
See the documentation of ezcWorkflowVisitorVerification for details.

Throws

ClassDescription
ezcWorkflowInvalidWorkflowException if the specification of this workflow is not correct.

Last updated: Tue, 23 Mar 2010