org.apache.tools.ant.types.selectors
public final class SelectorUtils extends 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
Method Summary | |
---|---|
static SelectorUtils | getInstance()
Retrieves the instance of the Singleton. |
static boolean | hasWildcards(String input)
Tests if a string contains stars or question marks |
static boolean | isOutOfDate(File src, 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 | match(String pattern, String str)
Tests whether or not a string matches against a pattern.
|
static boolean | match(String pattern, String str, boolean isCaseSensitive)
Tests whether or not a string matches against a pattern.
|
static boolean | matchPath(String pattern, String str)
Tests whether or not a given path matches a given pattern.
|
static boolean | matchPath(String pattern, String str, boolean isCaseSensitive)
Tests whether or not a given path matches a given pattern.
|
static boolean | matchPatternStart(String pattern, String str)
Tests whether or not a given path matches the start of a given
pattern up to the first "**".
|
static boolean | matchPatternStart(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 String | removeWhitespace(String input)
"Flattens" a string by removing all whitespace (space, tab, linefeed,
carriage return, and formfeed). |
static String | rtrimWildcardTokens(String input)
removes from a pattern all tokens to the right containing wildcards |
static Vector | tokenizePath(String path)
Breaks a path up into a Vector of path elements, tokenizing on
File.separator .
|
static Vector | tokenizePath(String path, String separator)
Breaks a path up into a Vector of path elements, tokenizing on
|
Returns: singleton instance
Parameters: input a String which one wants to test for containing wildcard
Returns: true if the string contains at least a star or a question mark
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
Parameters: src the original resource target the resource 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
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: true
if the string matches against the pattern,
or false
otherwise.
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.
Parameters: pattern The pattern to match against. Must not be
null
. str The path to match, as a String. Must not be
null
.
Returns: true
if the pattern matches against the string,
or false
otherwise.
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.
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
.
Returns: 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 "**".
Parameters: input a String to remove all whitespace.
Returns: a String that has had all whitespace removed.
Parameters: input the input string
Returns: the leftmost part of the pattern without wildcards
File.separator
.
Parameters: path Path to tokenize. Must not be null
.
Returns: a Vector of path elements from the tokenized path
Parameters: path Path to tokenize. Must not be null
. separator the separator against which to tokenize.
Returns: a Vector of path elements from the tokenized path
Since: Ant 1.6