org.codehaus.plexus.util
Class SelectorUtils
java.lang.Object
org.codehaus.plexus.util.SelectorUtils
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.
$Id: SelectorUtils.java 5958 2007-02-28 10:29:55Z olamy $static SelectorUtils | getInstance() - Retrieves the manager of the Singleton.
|
static boolean | isOutOfDate(File src, File target, int granularity) - Returns dependency information on these two files.
|
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 Vector | tokenizePath(String path) - Breaks a path up into a Vector of path elements, tokenizing on
File.separator .
|
getInstance
public static SelectorUtils getInstance()
Retrieves the manager of the Singleton.
isOutOfDate
public static boolean isOutOfDate(File src,
File target,
int granularity)
Returns 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.
src
- the original filetarget
- the file being compared againstgranularity
- the amount in seconds of slack we will give in
determining out of dateness
- whether the target is out of date
match
public static boolean match(String pattern,
String str)
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
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.
match
public static boolean match(String pattern,
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
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.
true
if the string matches against the pattern,
or false
otherwise.
matchPath
public static boolean matchPath(String pattern,
String str)
Tests whether or not a given path matches a given pattern.
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.
matchPath
public static boolean matchPath(String pattern,
String str,
boolean isCaseSensitive)
Tests whether or not a given path matches a given pattern.
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.
matchPatternStart
public 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 "**".
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
.
- whether or not a given path matches the start of a given
pattern up to the first "**".
matchPatternStart
public 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 "**".
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.
- whether or not a given path matches the start of a given
pattern up to the first "**".
removeWhitespace
public static String removeWhitespace(String input)
"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 arguement constructor.
input
- a String to remove all whitespace.
- a String that has had all whitespace removed.
tokenizePath
public static Vector tokenizePath(String path)
Breaks a path up into a Vector of path elements, tokenizing on
File.separator
.
path
- Path to tokenize. Must not be null
.
- a Vector of path elements from the tokenized path