## org.apache.commons.configuration
Class HierarchicalConfiguration.BuilderVisitor

    java.lang.Object
      org.apache.commons.configuration.HierarchicalConfiguration.NodeVisitor
          org.apache.commons.configuration.HierarchicalConfiguration.BuilderVisitor

Direct Known Subclasses:
  XMLConfiguration.XMLBuilderVisitor

Enclosing class:
  HierarchicalConfiguration

    protected abstract static class HierarchicalConfiguration.BuilderVisitor

extends HierarchicalConfiguration.NodeVisitor

A specialized visitor base class that can be used for storing the tree of configuration nodes. The basic idea is that each node can be associated with a reference object. This reference object has a concrete meaning in a derived class, e.g. an entry in a JNDI context or an XML element. When the configuration tree is set up, the `load()` method is responsible for setting the reference objects. When the configuration tree is later modified, new nodes do not have a defined reference object. This visitor class processes all nodes and finds the ones without a defined reference object. For those nodes the `insert()` method is called, which must be defined in concrete sub classes. This method can perform all steps to integrate the new node into the original structure.

Constructor Summary
`protected` `HierarchicalConfiguration.BuilderVisitor()`

Method Summary
`protected abstract Object` `insert(HierarchicalConfiguration.Node newNode, HierarchicalConfiguration.Node parent, HierarchicalConfiguration.Node sibling1, HierarchicalConfiguration.Node sibling2)` Inserts a new node into the structure constructed by this builder.
`void` `visitBeforeChildren(HierarchicalConfiguration.Node node, ConfigurationKey key)` Visits the specified node before its children have been traversed.

Methods inherited from class org.apache.commons.configuration.HierarchicalConfiguration.NodeVisitor
`terminate, visitAfterChildren`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### HierarchicalConfiguration.BuilderVisitor

    protected HierarchicalConfiguration.BuilderVisitor()

Method Detail

### visitBeforeChildren

    public void visitBeforeChildren(HierarchicalConfiguration.Node node,
                                    ConfigurationKey key)

  Visits the specified node before its children have been traversed.

  Overrides:
    `visitBeforeChildren` in class `HierarchicalConfiguration.NodeVisitor`
  Parameters:
    `node` - the node to visit
    `key` - the current key

### insert

    protected abstract Object insert(HierarchicalConfiguration.Node newNode,
                                     HierarchicalConfiguration.Node parent,
                                     HierarchicalConfiguration.Node sibling1,
                                     HierarchicalConfiguration.Node sibling2)

  Inserts a new node into the structure constructed by this builder. This method is called for each node that has been added to the configuration tree after the configuration has been loaded from its source. These new nodes have to be inserted into the original structure. The passed in nodes define the position of the node to be inserted: its parent and the siblings between to insert. The return value is interpreted as the new reference of the affected `Node` object; if it is not null , it is passed to the node's `setReference()` method.

  Parameters:
    `newNode` - the node to be inserted
    `parent` - the parent node
    `sibling1` - the sibling after which the node is to be inserted; can be null if the new node is going to be the first child node
    `sibling2` - the sibling before which the node is to be inserted; can be null if the new node is going to be the last child node
  Returns:
    the reference object for the node to be inserted

Copyright © 2001-2006 The Apache Software Foundation. All Rights Reserved.