ItemVisitor defines an interface for the
* Visitor design pattern (see, for example, Design Patterns,
* Gamma et al., 1995).
* This interface defines two signatures of the
* visit
method; one taking a Node
, the other a
* Property
. When an object implementing this interface is passed
* to Item#accept(ItemVisitor visitor)
the appropriate
* visit
method is automatically called, depending on whether the
* Item
in question is a Node
or a
* Property
. Different implementations of this interface can be
* written for different purposes. It is, for example, possible for the
* visit(Node node)
method to call accept
on the
* children of the passed node and thus recurse through the tree performing some
* operation on each Item
.
*
* @author Markus Nix
* @package phpcr
*/
interface ItemVisitor
{
/**
* This method is called when the ItemVisitor
is
* passed to the accept
method of a Property
.
* If this method throws an exception the visiting process is aborted.
*
* @param property The Property
or Node
that is accepting this visitor.
*
* @throws RepositoryException if an error occurrs
*/
public function visit( $entry );
}
?>