Added NodeMatcher interface.

A NodeMatcher allows for advanced filtering of the child nodes of a given
parent node.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636032 13f79535-47bb-0310-9956-ffa450edef68
Extended NodeHandler interface by advanced query methods.

There are now new methods for obtaining all child nodes of a parent node which
are matched by a given NodeMatcher.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636033 13f79535-47bb-0310-9956-ffa450edef68
Implemented the new methods of the NodeHandler interface.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636034 13f79535-47bb-0310-9956-ffa450edef68
Added missing @Override annotations.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636035 13f79535-47bb-0310-9956-ffa450edef68
Removed @author tag; added @since tag.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636036 13f79535-47bb-0310-9956-ffa450edef68
Added a default matcher implementation for node names.

The new implementation performs an exact match on a node name. It is defined as
a constant in an enumeration class because a single instance can be shared
between arbitrary components.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636037 13f79535-47bb-0310-9956-ffa450edef68
DefaultExpressionEngine now supports a node name matcher.

By providing a custom matcher it is possible to influence the search operations
performed by the expression engine.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636038 13f79535-47bb-0310-9956-ffa450edef68
Added missing @Override annotations.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636039 13f79535-47bb-0310-9956-ffa450edef68
Removed duplicate code.

The method for querying children by name can be implemented on top of the
generic getMatchingChildren() method. getChildrenCount() can be handled in a
similar way.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636040 13f79535-47bb-0310-9956-ffa450edef68
Added a node name matcher which ignores case.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636041 13f79535-47bb-0310-9956-ffa450edef68
Added a test case demonstrating the use of the equalsIgnoreCase matcher.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636042 13f79535-47bb-0310-9956-ffa450edef68
Extended documentation about hierarchical configurations.

Described how another node name matcher can be set for a
DefaultExpressionEngie object.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636044 13f79535-47bb-0310-9956-ffa450edef68
[CONFIGURATION-574] Updated changes.xml.

git-svn-id: https://svn.apache.org/repos/asf/commons/proper/configuration/trunk@1636045 13f79535-47bb-0310-9956-ffa450edef68