public 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.
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
DEEP_TREE_MATCH
The pattern that matches an arbitrary number of directories.
|
Modifier and Type | Method and Description |
---|---|
static SelectorUtils |
getInstance()
Retrieves the instance of the Singleton.
|
static boolean |
hasWildcards(java.lang.String input)
Tests if a string contains stars or question marks
|
static boolean |
isOutOfDate(java.io.File src,
java.io.File target,
int granularity)
Returns dependency information on these two files.
|
static boolean |
isOutOfDate(Resource src,
Resource target,
int granularity)
Returns dependency information on these two resources.
|
static boolean |
isOutOfDate(Resource src,
Resource target,
long granularity)
Returns dependency information on these two resources.
|
static boolean |
match(java.lang.String pattern,
java.lang.String str)
Tests whether or not a string matches against a pattern.
|
static boolean |
match(java.lang.String pattern,
java.lang.String str,
boolean caseSensitive)
Tests whether or not a string matches against a pattern.
|
static boolean |
matchPath(java.lang.String pattern,
java.lang.String str)
Tests whether or not a given path matches a given 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)
Tests whether or not a given path matches the start of a given
pattern up to the first "**".
|
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.lang.String |
removeWhitespace(java.lang.String input)
"Flattens" a string by removing all whitespace (space, tab, linefeed,
carriage return, and formfeed).
|
static java.lang.String |
rtrimWildcardTokens(java.lang.String input)
removes from a pattern all tokens to the right containing wildcards
|
static java.util.Vector |
tokenizePath(java.lang.String path)
Breaks a path up into a Vector of path elements, tokenizing on
File.separator . |
static java.util.Vector |
tokenizePath(java.lang.String path,
java.lang.String separator)
Breaks a path up into a Vector of path elements, tokenizing on
|
public static final java.lang.String DEEP_TREE_MATCH
public static SelectorUtils getInstance()
public static boolean matchPatternStart(java.lang.String pattern, java.lang.String str)
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
.
pattern
- The pattern to match against. Must not be
null
.str
- The path to match, as a String. Must not be
null
.public static boolean matchPatternStart(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
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
.
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.public static boolean matchPath(java.lang.String pattern, java.lang.String str)
pattern
- The pattern to match against. Must not be
null
.str
- The path to match, as a String. Must not be
null
.true
if the pattern matches against the string,
or false
otherwise.TokenizedPath
public static boolean matchPath(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)
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.true
if the pattern matches against the string,
or false
otherwise.TokenizedPattern
public static boolean match(java.lang.String pattern, java.lang.String str)
pattern
- The pattern to match against.
Must not be null
.str
- The string which must be matched against the pattern.
Must not be null
.true
if the string matches against the pattern,
or false
otherwise.public static boolean match(java.lang.String pattern, java.lang.String str, boolean caseSensitive)
pattern
- The pattern to match against.
Must not be null
.str
- The string which must be matched against the pattern.
Must not be null
.caseSensitive
- Whether or not matching should be performed
case sensitively.true
if the string matches against the pattern,
or false
otherwise.public static java.util.Vector tokenizePath(java.lang.String path)
File.separator
.path
- Path to tokenize. Must not be null
.public static java.util.Vector tokenizePath(java.lang.String path, java.lang.String separator)
path
- Path to tokenize. Must not be null
.separator
- the separator against which to tokenize.public static boolean isOutOfDate(java.io.File src, java.io.File target, int granularity)
src
- the original filetarget
- the file being compared againstgranularity
- the amount in seconds of slack we will give in
determining out of datenesspublic static boolean isOutOfDate(Resource src, Resource target, int granularity)
src
- the original resourcetarget
- the resource being compared againstgranularity
- the int amount in seconds of slack we will give in
determining out of datenesspublic static boolean isOutOfDate(Resource src, Resource target, long granularity)
src
- the original resourcetarget
- the resource being compared againstgranularity
- the long amount in seconds of slack we will give in
determining out of datenesspublic static java.lang.String removeWhitespace(java.lang.String input)
input
- a String to remove all whitespace.public static boolean hasWildcards(java.lang.String input)
input
- a String which one wants to test for containing wildcardpublic static java.lang.String rtrimWildcardTokens(java.lang.String input)
input
- the input string