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

### Workflow::ezcWorkflowVisitor

### Class ezcWorkflowVisitor

Base class for visitor implementations that want to process a workflow using the Visitor design pattern.

visit() is called on each of the nodes in the workflow in a top-down, depth-first fashion.

Start the processing of the workflow by calling accept() on the workflow passing the visitor object as the sole parameter.

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

### Implements interfaces:

- Countable (internal interface)

Version: | //autogen//

### Descendants

Child Class | Description
--- | ---
ezcWorkflowVisitorReset | An implementation of the ezcWorkflowVisitor interface that resets all the nodes of a workflow.
ezcWorkflowVisitorVisualization | An implementation of the ezcWorkflowVisitor interface that generates GraphViz/dot markup for a workflow definition.
ezcWorkflowVisitorVerification | An implementation of the ezcWorkflowVisitor interface that verifies a workflow specification.

### Member Variables

protected SplObjectStorage | `$visited` Holds the visited nodes.

### Method Summary

public ezcWorkflowVisitor | `__construct( )` Constructor.
public integer | `count( )` Returns the number of visited nodes.
protected void | `doVisit( $visitable )` Perform the visit.
public bool | `visit( $visitable )` Visit the $visitable.

### Methods

#### __construct

ezcWorkflowVisitor __construct( )

Constructor.

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWorkflowVisitorVisualization::__construct()` | Constructor.

#### count

integer count( )

Returns the number of visited nodes.

##### Implementation of:

Method | Description
--- | ---
`Countable::count` |

#### doVisit

void doVisit( ezcWorkflowVisitable $visitable )

Perform the visit.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$visitable` | ezcWorkflowVisitable |

##### Redefined in descendants as:

Method | Description
--- | ---
`ezcWorkflowVisitorReset::doVisit()` | Perform the visit.
`ezcWorkflowVisitorVisualization::doVisit()` | Perform the visit.
`ezcWorkflowVisitorVerification::doVisit()` | Perform the visit.

#### visit

bool visit( ezcWorkflowVisitable $visitable )

Visit the $visitable.

Each node in the graph is visited once.

##### Parameters:

Name | Type | Description
--- | --- | ---
`$visitable` | ezcWorkflowVisitable |

Documentation generated by phpDocumentor 1.4.3