protected abstract static class BaseHierarchicalConfiguration.BuilderVisitor extends ConfigurationNodeVisitorAdapter<ImmutableNode>
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.Modifier | Constructor and Description |
---|---|
protected |
BuilderVisitor() |
Modifier and Type | Method and Description |
---|---|
protected abstract void |
insert(ImmutableNode newNode,
ImmutableNode parent,
ImmutableNode sibling1,
ImmutableNode sibling2,
ReferenceNodeHandler refHandler)
Inserts a new node into the structure constructed by this builder.
|
protected abstract void |
update(ImmutableNode node,
Object reference,
ReferenceNodeHandler refHandler)
Updates a node that already existed in the original hierarchy.
|
void |
visitBeforeChildren(ImmutableNode node,
NodeHandler<ImmutableNode> handler)
Visits the specified node before the children of this node - if existing - are processed.
|
terminate, visitAfterChildren
protected BuilderVisitor()
public void visitBeforeChildren(ImmutableNode node, NodeHandler<ImmutableNode> handler)
ConfigurationNodeVisitorAdapter
visitBeforeChildren
in interface ConfigurationNodeVisitor<ImmutableNode>
visitBeforeChildren
in class ConfigurationNodeVisitorAdapter<ImmutableNode>
node
- the node to be visitedhandler
- the NodeHandler
protected abstract void insert(ImmutableNode newNode, ImmutableNode parent, ImmutableNode sibling1, ImmutableNode sibling2, ReferenceNodeHandler refHandler)
newNode
- the node to be insertedparent
- the parent nodesibling1
- the sibling after which the node is to be inserted; can be null if the new node is going to be
the first child nodesibling2
- the sibling before which the node is to be inserted; can be null if the new node is going to
be the last child noderefHandler
- the ReferenceNodeHandler
protected abstract void update(ImmutableNode node, Object reference, ReferenceNodeHandler refHandler)
node
- the current node to be processedreference
- the reference object for this noderefHandler
- the ReferenceNodeHandler
Copyright © 2001–2022 The Apache Software Foundation. All rights reserved.