Author: oheger
Date: Sat Mar 1 12:24:06 2008
New Revision: 632655
URL: http://svn.apache.org/viewvc?rev=632655&view=rev
Log:
Added a getName() method to NodeList
Modified:
commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/expr/NodeList.java
commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/expr/TestNodeList.java
Modified: commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/expr/NodeList.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/expr/NodeList.java?rev=632655&r1=632654&r2=632655&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/expr/NodeList.java
(original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/main/java/org/apache/commons/configuration2/expr/NodeList.java
Sat Mar 1 12:24:06 2008
@@ -111,6 +111,21 @@
}
/**
+ * Returns the name of the element at the specified index. If the element is
+ * a node, the node name is returned. For an attribute the attribute name is
+ * returned.
+ *
+ * @param index the index
+ * @param handler the node handler
+ * @return the name of the element at this index
+ * @throws IndexOutOfBoundsException if the index is invalid
+ */
+ public String getName(int index, NodeHandler<T> handler)
+ {
+ return element(index).getName(handler);
+ }
+
+ /**
* Returns the value of the element at the specified index. This method
* works for both nodes and attributes.
*
@@ -198,6 +213,14 @@
public abstract boolean isNode();
/**
+ * Returns the name of this list element.
+ *
+ * @param handler the node handler
+ * @return the name of this list element
+ */
+ public abstract String getName(NodeHandler<T> handler);
+
+ /**
* Obtains the value from this list element.
*
* @param handler the node handler
@@ -274,6 +297,18 @@
{
handler.setValue(getAssociatedNode(), value);
}
+
+ /**
+ * Returns the name of the represented node.
+ *
+ * @param handler the node handler
+ * @return the name of this node
+ */
+ @Override
+ public String getName(NodeHandler<T> handler)
+ {
+ return handler.nodeName(getAssociatedNode());
+ }
}
/**
@@ -330,6 +365,18 @@
public void setValue(Object value, NodeHandler<T> handler)
{
handler.setAttributeValue(getAssociatedNode(), name, value);
+ }
+
+ /**
+ * Returns the name of the represented attribute.
+ *
+ * @param handler the node handler
+ * @return the name of this attribute
+ */
+ @Override
+ public String getName(NodeHandler<T> handler)
+ {
+ return name;
}
}
}
Modified: commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/expr/TestNodeList.java
URL: http://svn.apache.org/viewvc/commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/expr/TestNodeList.java?rev=632655&r1=632654&r2=632655&view=diff
==============================================================================
--- commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/expr/TestNodeList.java
(original)
+++ commons/proper/configuration/branches/configuration2_experimental/src/test/java/org/apache/commons/configuration2/expr/TestNodeList.java
Sat Mar 1 12:24:06 2008
@@ -34,6 +34,9 @@
/** Constant for a test value. */
private static final String VALUE = "test";
+ /** Constant for a test name.*/
+ private static final String NAME = "testName";
+
/** Constant for the number of test nodes. */
private static final int COUNT = 10;
@@ -169,5 +172,27 @@
{
// ok
}
+ }
+
+ /**
+ * Tests querying the name of a node.
+ */
+ public void testGetNameNode()
+ {
+ ConfigurationNode node = new DefaultConfigurationNode(NAME);
+ list.addNode(node);
+ assertEquals("Wrong node name", NAME, list.getName(0,
+ new ConfigurationNodeHandler()));
+ }
+
+ /**
+ * Tests querying the name of an attribute.
+ */
+ public void testGetNameAttribute()
+ {
+ ConfigurationNode parent = new DefaultConfigurationNode();
+ list.addAttribute(parent, NAME);
+ assertEquals("Wrong attribute name", NAME, list.getName(0,
+ new ConfigurationNodeHandler()));
}
}
|