org.apache.jackrabbit.commons
Class ItemNameMatcher

java.lang.Object
  extended by org.apache.jackrabbit.commons.ItemNameMatcher

public final class ItemNameMatcher
extends Object

Utility for name matching such as required for Node.getNodes(String), Node.getNodes(String[]), Node.getProperties(String]) and Node.getProperties(String[]).


Method Summary
static boolean matches(String name, String pattern)
          Matches the name pattern against the specified name.
static boolean matches(String name, String[] nameGlobs)
          Matches the nameGlob strings in the passed array against the specified name.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

matches

public static boolean matches(String name,
                              String pattern)
Matches the name pattern against the specified name.

The pattern may be a full name or a partial name with one or more wildcard characters ("*"), or a disjunction (using the "|" character to represent logical OR) of these. For example,

"jcr:*|foo:bar"

would match

"foo:bar", but also "jcr:whatever".

 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 *)
 
Note that leading and trailing whitespace around a pattern is ignored.

Parameters:
name - the name to test the pattern with
pattern - the pattern to be matched against the name
Returns:
true if the specified name matches the pattern
See Also:
Node.getNodes(String)

matches

public static boolean matches(String name,
                              String[] nameGlobs)
Matches the nameGlob strings in the passed array against the specified name.

A glob may be a full name or a partial name with one or more wildcard characters ("*").

Note that unlike in the case of the matches(String, String) leading and trailing whitespace around a glob is not ignored.

Parameters:
name - the name to test the pattern with
nameGlobs - an array of globbing strings
Returns:
true if the specified name matches any of the globs
See Also:
Node.getNodes(String[])


Copyright © 2004-2014 The Apache Software Foundation. All Rights Reserved.