Class SelectorUtils
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
- 
Field SummaryFields
- 
Method SummaryModifier and TypeMethodDescriptionstatic SelectorUtilsstatic booleanisOutOfDate(File src, File target, int granularity) Returns dependency information on these two files.static booleanmatch(char[] patArr, char[] strArr, boolean isCaseSensitive) static booleanTests whether or not a string matches against a pattern.static booleanTests whether or not a string matches against a pattern.static booleanTests whether or not a given path matches a given pattern.static booleanTests whether or not a given path matches a given pattern.static booleanstatic booleanmatchPatternStart(String pattern, String str) Tests whether or not a given path matches the start of a given pattern up to the first "**".static booleanmatchPatternStart(String pattern, String str, boolean isCaseSensitive) Tests whether or not a given path matches the start of a given pattern up to the first "**".static StringremoveWhitespace(String input) "Flattens" a string by removing all whitespace (space, tab, linefeed, carriage return, and formfeed).
- 
Field Details- 
PATTERN_HANDLER_PREFIX- See Also:
 
- 
PATTERN_HANDLER_SUFFIX- See Also:
 
- 
REGEX_HANDLER_PREFIX- See Also:
 
- 
ANT_HANDLER_PREFIX- See Also:
 
 
- 
- 
Method Details- 
getInstance- Returns:
- Retrieves the manager of the Singleton.
 
- 
matchPatternStartTests 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=**\aandstr=bwill yieldtrue.- Parameters:
- pattern- The pattern to match against. Must not be- null.
- str- The path to match, as a String. Must not be- null.
- Returns:
- whether or not a given path matches the start of a given pattern up to the first "**".
 
- 
matchPatternStartTests 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=**\aandstr=bwill yieldtrue.- 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 "**".
 
- 
matchPathTests 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.
- Returns:
- trueif the pattern matches against the string, or- falseotherwise.
 
- 
matchPathTests 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:
- trueif the pattern matches against the string, or- falseotherwise.
 
- 
matchPath
- 
matchTests 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.
- Returns:
- trueif the string matches against the pattern, or- falseotherwise.
 
- 
matchTests 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:
- trueif the string matches against the pattern, or- falseotherwise.
 
- 
matchpublic static boolean match(char[] patArr, char[] strArr, boolean isCaseSensitive) 
- 
isOutOfDateReturns dependency information on these two files. If src has been modified later than target, it returns true. If target doesn't exist, it likewise returns true. Otherwise, target is newer than src and is not out of date, thus the method returns false. It also returns false if the src file doesn't even exist, since how could the target then be out of date.- Parameters:
- src- the original file
- target- the file being compared against
- granularity- the amount in seconds of slack we will give in determining out of dateness
- Returns:
- whether the target is out of date
 
- 
removeWhitespace"Flattens" a string by removing all whitespace (space, tab, linefeed, carriage return, and formfeed). This uses StringTokenizer and the default set of tokens as documented in the single argument constructor.- Parameters:
- input- a String to remove all whitespace.
- Returns:
- a String that has had all whitespace removed.
 
 
-