You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@jackrabbit.apache.org by st...@apache.org on 2005/07/08 14:36:35 UTC
svn commit: r209747 -
/incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java
Author: stefan
Date: Fri Jul 8 05:36:34 2005
New Revision: 209747
URL: http://svn.apache.org/viewcvs?rev=209747&view=rev
Log:
ChildrenCollectorFilter: making matches() public and extend javadoc
Modified:
incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java
Modified: incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java
URL: http://svn.apache.org/viewcvs/incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java?rev=209747&r1=209746&r2=209747&view=diff
==============================================================================
--- incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java (original)
+++ incubator/jackrabbit/trunk/commons/src/java/org/apache/jackrabbit/util/ChildrenCollectorFilter.java Fri Jul 8 05:36:34 2005
@@ -84,7 +84,7 @@
}
/**
- * Applies the name pattern against the specified name.
+ * Matches the name pattern against the specified name.
* <p/>
* The pattern may be a full name or a partial name with one or more
* wildcard characters ("*"), or a disjunction (using the "|" character
@@ -95,12 +95,28 @@
* would match
* <p/>
* <code>"foo:bar"</code>, but also <code>"jcr:whatever"</code>.
+ * <p/>
+ * <pre>
+ * The EBNF for pattern is:
+ *
+ * namePattern ::= disjunct {'|' disjunct}
+ * disjunct ::= name [':' name]
+ * name ::= '*' |
+ * ['*'] fragment {'*' fragment}['*']
+ * fragment ::= char {char}
+ * char ::= nonspace | ' '
+ * nonspace ::= (* Any Unicode character except:
+ * '/', ':', '[', ']', '*',
+ * ''', '"', '|' or any whitespace
+ * character *)
+ * </pre>
*
* @param name the name to test the pattern with
+ * @param pattern the pattern to be matched against the name
* @return true if the specified name matches the pattern
+ * @see javax.jcr.Node#getNodes(String)
*/
- static boolean matches(String name, String pattern) {
- // @todo check if pattern matching conforms with spec
+ public static boolean matches(String name, String pattern) {
// split pattern
StringTokenizer st = new StringTokenizer(pattern, OR, false);
while (st.hasMoreTokens()) {
@@ -122,7 +138,8 @@
* @param pOff offset within <code>pattern</code>.
* @return true if <code>s</code> matched pattern, else false.
*/
- private static boolean internalMatches(String s, String pattern, int sOff, int pOff) {
+ private static boolean internalMatches(String s, String pattern,
+ int sOff, int pOff) {
int pLen = pattern.length();
int sLen = s.length();