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 ); } ?>