org.repoweb.model.file.util
Class SelectorUtils

java.lang.Object
  extended byorg.repoweb.model.file.util.SelectorUtils

final class SelectorUtils
extends java.lang.Object

This is a utility class used by selectors and DirectoryScanner. The functionality more properly belongs just to selectors, but unfortunately DirectoryScanner exposed these as protected methods. Thus we have to support any subclasses of DirectoryScanner that may access these methods.

This is a Singleton.

Since:
1.5
Author:
Arnout J. Kuiper ajkuiper@wxs.nl, Magesh Umasankar, Bruce Atherton

Method Summary
static boolean match(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
          Tests whether or not a string matches against a pattern.
static boolean matchPath(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
          Tests whether or not a given path matches a given pattern.
static boolean matchPatternStart(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
          Tests whether or not a given path matches the start of a given pattern up to the first "**".
static java.util.List tokenizePath(java.lang.String path)
          Breaks a path up into a Vector of path elements, tokenizing on File.separator.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

matchPatternStart

public static boolean matchPatternStart(java.lang.String pattern,
                                        java.lang.String str,
                                        boolean isCaseSensitive)
Tests whether or not a given path matches the start of a given pattern up to the first "**".

This is not a general purpose test and should only be used if you can live with false positives. For example, pattern=**\a and str=b will yield true.

Parameters:
pattern - The pattern to match against. Must not be null.
str - The path to match, as a String. Must not be null.
isCaseSensitive - Whether or not matching should be performed case sensitively.
Returns:
whether or not a given path matches the start of a given pattern up to the first "**".

matchPath

public static boolean matchPath(java.lang.String pattern,
                                java.lang.String str,
                                boolean isCaseSensitive)
Tests whether or not a given path matches a given pattern.

Parameters:
pattern - The pattern to match against. Must not be null.
str - The path to match, as a String. Must not be null.
isCaseSensitive - Whether or not matching should be performed case sensitively.
Returns:
true if the pattern matches against the string, or false otherwise.

match

public static boolean match(java.lang.String pattern,
                            java.lang.String str,
                            boolean isCaseSensitive)
Tests whether or not a string matches against a pattern. The pattern may contain two special characters:
'*' means zero or more characters
'?' means one and only one character

Parameters:
pattern - The pattern to match against. Must not be null.
str - The string which must be matched against the pattern. Must not be null.
isCaseSensitive - Whether or not matching should be performed case sensitively.
Returns:
true if the string matches against the pattern, or false otherwise.

tokenizePath

public static java.util.List tokenizePath(java.lang.String path)
Breaks a path up into a Vector of path elements, tokenizing on File.separator.

Parameters:
path - Path to tokenize. Must not be null.
Returns:
a Vector of path elements from the tokenized path


Copyright © 2003-2005 Repoweb. All Rights Reserved.