Class SelectorUtils
java.lang.Object
org.apache.tools.ant.types.selectors.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
-
Field Summary
Modifier and TypeFieldDescriptionstatic final String
The pattern that matches an arbitrary number of directories. -
Method Summary
Modifier and TypeMethodDescriptionstatic SelectorUtils
Retrieves the instance of the Singleton.static boolean
hasWildcards
(String input) Tests if a string contains stars or question marksstatic 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
isOutOfDate
(Resource src, Resource target, long granularity) Returns dependency information on these two resources.static boolean
Tests whether or not a string matches against a pattern.static boolean
Tests whether or not a string matches against a pattern.static boolean
Tests whether or not a given path matches a given pattern.static boolean
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 wildcardstokenizePath
(String path) Breaks a path up into a Vector of path elements, tokenizing onFile.separator
.tokenizePath
(String path, String separator) Breaks a path up into a Vector of path elements, tokenizing on
-
Field Details
-
DEEP_TREE_MATCH
The pattern that matches an arbitrary number of directories.- Since:
- Ant 1.8.0
- See Also:
-
-
Method Details
-
getInstance
Retrieves the instance of the Singleton.- Returns:
- singleton instance
-
matchPatternStart
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
andstr=b
will yieldtrue
.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.- Returns:
- whether or not a given path matches the start of a given pattern up to the first "**".
-
matchPatternStart
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
andstr=b
will yieldtrue
.- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.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
Tests whether or not a given path matches a given pattern. If you need to call this method multiple times with the same pattern you should rather use TokenizedPath- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.- Returns:
true
if the pattern matches against the string, orfalse
otherwise.- See Also:
-
matchPath
Tests whether or not a given path matches a given pattern. If you need to call this method multiple times with the same pattern you should rather use TokenizedPattern- Parameters:
pattern
- The pattern to match against. Must not benull
.str
- The path to match, as a String. Must not benull
.isCaseSensitive
- Whether or not matching should be performed case sensitively.- Returns:
true
if the pattern matches against the string, orfalse
otherwise.- See Also:
-
match
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 benull
.str
- The string which must be matched against the pattern. Must not benull
.- Returns:
true
if the string matches against the pattern, orfalse
otherwise.
-
match
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 benull
.str
- The string which must be matched against the pattern. Must not benull
.caseSensitive
- Whether or not matching should be performed case sensitively.- Returns:
true
if the string matches against the pattern, orfalse
otherwise.
-
tokenizePath
-
tokenizePath
Breaks a path up into a Vector of path elements, tokenizing on- Parameters:
path
- Path to tokenize. Must not benull
.separator
- the separator against which to tokenize.- Returns:
- a Vector of path elements from the tokenized path
- Since:
- Ant 1.6
-
isOutOfDate
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.- Parameters:
src
- the original filetarget
- the file being compared againstgranularity
- the amount in milliseconds of slack we will give in determining out of dateness- Returns:
- whether the target is out of date
-
isOutOfDate
Returns dependency information on these two resources. 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 resourcetarget
- the resource being compared againstgranularity
- the int amount in milliseconds of slack we will give in determining out of dateness- Returns:
- whether the target is out of date
-
isOutOfDate
Returns dependency information on these two resources. 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 resourcetarget
- the resource being compared againstgranularity
- the long amount in milliseconds 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.
-
hasWildcards
Tests if a string contains stars or question marks- 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
-
rtrimWildcardTokens
-