org.qi4j.functional
Interface HierarchicalVisitor<NODE,LEAF,ThrowableType extends java.lang.Throwable>

All Superinterfaces:
Visitor<LEAF,ThrowableType>
All Known Implementing Classes:
HierarchicalVisitorAdapter

public interface HierarchicalVisitor<NODE,LEAF,ThrowableType extends java.lang.Throwable>
extends Visitor<LEAF,ThrowableType>

Visitor to visit hierarchies.


Method Summary
 boolean visit(LEAF visited)
          Visit an instance of T
 boolean visitEnter(NODE visited)
          Enter an instance of T
 boolean visitLeave(NODE visited)
          Leave an instance of T
 

Method Detail

visitEnter

boolean visitEnter(NODE visited)
                   throws ThrowableType extends java.lang.Throwable
Enter an instance of T

Parameters:
visited - the visited instance which is now entered
Returns:
true if the visitor pattern should continue, false if it should be aborted for this level
Throws:
ThrowableType - if an exception occurred during processing. Any client call that initiated the visiting should get the exception in order to handle it properly.
ThrowableType extends java.lang.Throwable

visitLeave

boolean visitLeave(NODE visited)
                   throws ThrowableType extends java.lang.Throwable
Leave an instance of T

Parameters:
visited - the visited instance which is now left
Returns:
true if the visitor pattern should continue, false if it should be aborted for the level of this node
Throws:
ThrowableType - if an exception occurred during processing. Any client call that initiated the visiting should get the exception in order to handle it properly.
ThrowableType extends java.lang.Throwable

visit

boolean visit(LEAF visited)
              throws ThrowableType extends java.lang.Throwable
Description copied from interface: Visitor
Visit an instance of T

Specified by:
visit in interface Visitor<LEAF,ThrowableType extends java.lang.Throwable>
Parameters:
visited - the visited instance
Returns:
true if the visitor pattern should continue, false if it should be aborted
Throws:
ThrowableType - if an exception occurred during processing. Any client call that initiated the visiting should get the exception in order to handle it properly.
ThrowableType extends java.lang.Throwable