Interface ConfigurationNodeVisitor<T>
- Type Parameters:
T
- the type of the nodes processed by this visitor
- All Known Implementing Classes:
BaseHierarchicalConfiguration.BuilderVisitor
,ConfigurationNodeVisitorAdapter
public interface ConfigurationNodeVisitor<T>
Definition of a Visitor interface for a configuration node structure.
This is a typical application of the GoF Visitor pattern. An object implementing this interface can be used
to traverse a hierarchical structure of nodes in various ways. The type of the nodes in the structure is generic; a
corresponding NodeHandler
implementation must be available for navigating through the structure.
Note that the exact way the methods of a ConfigurationNodeVisitor
are invoked is dependent on a specific
traversal process.
- Since:
- 1.3
-
Method Summary
Modifier and TypeMethodDescriptionboolean
Returns a flag whether the current visit process should be aborted.void
visitAfterChildren
(T node, NodeHandler<T> handler) Visits the specified node after after its children - if existing - have been processed.void
visitBeforeChildren
(T node, NodeHandler<T> handler) Visits the specified node before the children of this node - if existing - are processed.
-
Method Details
-
terminate
boolean terminate()Returns a flag whether the current visit process should be aborted. This method allows a visitor implementation to state that it does not need any further data. It may be used e.g. by visitors that search for a certain node in the hierarchy. After that node was found, there is no need to process the remaining nodes, too. This method is called after each visited node. A result of true indicates that the current iteration is to be aborted.- Returns:
- a flag if the visit process should be stopped
-
visitAfterChildren
Visits the specified node after after its children - if existing - have been processed.- Parameters:
node
- the node to be visitedhandler
- theNodeHandler
-
visitBeforeChildren
Visits the specified node before the children of this node - if existing - are processed.- Parameters:
node
- the node to be visitedhandler
- theNodeHandler
-