org.apache.commons.configuration.tree
Class MergeCombiner
java.lang.Object
org.apache.commons.configuration.tree.NodeCombiner
org.apache.commons.configuration.tree.MergeCombiner
public class MergeCombiner
- extends NodeCombiner
A specialized implementation of the NodeCombiner
interface
that performs a merge from two passed in node hierarchies.
This combiner performs the merge using a few rules:
- Nodes can be merged when attributes that appear in both have the same value.
- Only a single node in the second file is considered a match to the node in the first file.
- Attributes in nodes that match are merged.
- Nodes in both files that do not match are added to the result.
- Since:
- 1.7
- Version:
- $Id: MergeCombiner.java 764168 2009-04-11 06:23:13Z rgoers $
- Author:
- Commons
Configuration team
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
MergeCombiner
public MergeCombiner()
combine
public ConfigurationNode combine(ConfigurationNode node1,
ConfigurationNode node2)
- Combines the given nodes to a new union node.
- Specified by:
combine
in class NodeCombiner
- Parameters:
node1
- the first source nodenode2
- the second source node
- Returns:
- the union node
addAttributes
protected void addAttributes(ViewNode result,
ConfigurationNode node1,
ConfigurationNode node2)
- Handles the attributes during a combination process. First all attributes
of the first node will be added to the result. Then all attributes of the
second node, which are not contained in the first node, will also be
added.
- Parameters:
result
- the resulting nodenode1
- the first nodenode2
- the second node
canCombine
protected ConfigurationNode canCombine(ConfigurationNode node1,
ConfigurationNode node2,
ConfigurationNode child,
List children2)
- Tests if the first node can be combined with the second node. A node can
only be combined if its attributes are all present in the second node and
they all have the same value.
- Parameters:
node1
- the first nodenode2
- the second nodechild
- the child node (of the first node)
- Returns:
- a child of the second node, with which a combination is possible
Copyright © 2001-2011 The Apache Software Foundation. All Rights Reserved.