rename hasChildNode to hasChild
authorDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 26 May 2008 19:39:28 +0000 (21:39 +0200)
committerDavid ‘Bombe’ Roden <bombe@pterodactylus.net>
Mon, 26 May 2008 19:39:28 +0000 (21:39 +0200)
add second hasChild method

src/net/pterodactylus/util/data/Node.java
src/net/pterodactylus/util/data/NodeImpl.java

index 37588b5..2f6ec74 100644 (file)
@@ -61,7 +61,18 @@ public interface Node<E> extends Iterable<Node<E>> {
         * @return <code>true</code> if the given node is a direct child of this
         *         node, <code>false</code> otherwise
         */
-       public boolean hasChildNode(Node<E> childNode);
+       public boolean hasChild(Node<E> childNode);
+
+       /**
+        * Returns whether this node contains a child node containing the given
+        * element.
+        * 
+        * @param element
+        *            The element
+        * @return <code>true</code> if this node contains a direct child node
+        *         containing the given element, <code>false</code> otherwise
+        */
+       public boolean hasChild(E element);
 
        /**
         * Returns the index of the given child node.
index 283a663..5c04aee 100644 (file)
@@ -87,13 +87,25 @@ class NodeImpl<E> implements Node<E> {
        /**
         * {@inheritDoc}
         */
-       public boolean hasChildNode(Node<E> childNode) {
+       public boolean hasChild(Node<E> childNode) {
                return children.contains(childNode);
        }
 
        /**
         * {@inheritDoc}
         */
+       public boolean hasChild(E element) {
+               for (Node<E> childNode: children) {
+                       if (childNode.getElement().equals(element)) {
+                               return true;
+                       }
+               }
+               return false;
+       }
+
+       /**
+        * {@inheritDoc}
+        */
        public int getIndexOfChild(Node<E> childNode) {
                int childIndex = 0;
                for (Node<E> node: children) {