Class SelectorUtils
- java.lang.Object
- 
- org.apache.tools.ant.types.selectors.SelectorUtils
 
- 
 public final class SelectorUtils extends java.lang.ObjectThis 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 SummaryFields Modifier and Type Field Description static java.lang.StringDEEP_TREE_MATCHThe pattern that matches an arbitrary number of directories.
 - 
Method SummaryModifier and Type Method Description static SelectorUtilsgetInstance()Retrieves the instance of the Singleton.static booleanhasWildcards(java.lang.String input)Tests if a string contains stars or question marksstatic booleanisOutOfDate(java.io.File src, java.io.File target, int granularity)Returns dependency information on these two files.static booleanisOutOfDate(Resource src, Resource target, int granularity)Returns dependency information on these two resources.static booleanisOutOfDate(Resource src, Resource target, long granularity)Returns dependency information on these two resources.static booleanmatch(java.lang.String pattern, java.lang.String str)Tests whether or not a string matches against a pattern.static booleanmatch(java.lang.String pattern, java.lang.String str, boolean caseSensitive)Tests whether or not a string matches against a pattern.static booleanmatchPath(java.lang.String pattern, java.lang.String str)Tests whether or not a given path matches a given pattern.static booleanmatchPath(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)Tests whether or not a given path matches a given pattern.static booleanmatchPatternStart(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 booleanmatchPatternStart(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.StringremoveWhitespace(java.lang.String input)"Flattens" a string by removing all whitespace (space, tab, linefeed, carriage return, and formfeed).static java.lang.StringrtrimWildcardTokens(java.lang.String input)removes from a pattern all tokens to the right containing wildcardsstatic java.util.Vector<java.lang.String>tokenizePath(java.lang.String path)Breaks a path up into a Vector of path elements, tokenizing onFile.separator.static java.util.Vector<java.lang.String>tokenizePath(java.lang.String path, java.lang.String separator)Breaks a path up into a Vector of path elements, tokenizing on
 
- 
- 
- 
Field Detail- 
DEEP_TREE_MATCHpublic static final java.lang.String DEEP_TREE_MATCH The pattern that matches an arbitrary number of directories.- Since:
- Ant 1.8.0
- See Also:
- Constant Field Values
 
 
- 
 - 
Method Detail- 
getInstancepublic static SelectorUtils getInstance() Retrieves the instance of the Singleton.- Returns:
- singleton instance
 
 - 
matchPatternStartpublic 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 "**".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 "**".
 
 - 
matchPatternStartpublic 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 "**".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 "**".
 
 - 
matchPathpublic static boolean matchPath(java.lang.String pattern, java.lang.String str)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 be- null.
- str- The path to match, as a String. Must not be- null.
- Returns:
- trueif the pattern matches against the string, or- falseotherwise.
- See Also:
- TokenizedPath
 
 - 
matchPathpublic static boolean matchPath(java.lang.String pattern, java.lang.String str, boolean isCaseSensitive)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 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.
- See Also:
- TokenizedPattern
 
 - 
matchpublic static boolean match(java.lang.String pattern, java.lang.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- 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.
 
 - 
matchpublic static boolean match(java.lang.String pattern, java.lang.String str, boolean caseSensitive)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 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.
- Returns:
- trueif the string matches against the pattern, or- falseotherwise.
 
 - 
tokenizePathpublic static java.util.Vector<java.lang.String> tokenizePath(java.lang.String path) Breaks a path up into a Vector of path elements, tokenizing onFile.separator.- Parameters:
- path- Path to tokenize. Must not be- null.
- Returns:
- a Vector of path elements from the tokenized path
 
 - 
tokenizePathpublic static java.util.Vector<java.lang.String> tokenizePath(java.lang.String path, java.lang.String separator)Breaks a path up into a Vector of path elements, tokenizing on- 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
 
 - 
isOutOfDatepublic static boolean isOutOfDate(java.io.File src, java.io.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.- 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
 
 - 
isOutOfDatepublic static boolean isOutOfDate(Resource src, Resource target, int granularity) 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 resource
- target- the resource being compared against
- granularity- the int amount in seconds of slack we will give in determining out of dateness
- Returns:
- whether the target is out of date
 
 - 
isOutOfDatepublic static boolean isOutOfDate(Resource src, Resource target, long granularity) 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 resource
- target- the resource being compared against
- granularity- the long amount in seconds of slack we will give in determining out of dateness
- Returns:
- whether the target is out of date
 
 - 
removeWhitespacepublic static java.lang.String removeWhitespace(java.lang.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 argument constructor.- Parameters:
- input- a String to remove all whitespace.
- Returns:
- a String that has had all whitespace removed.
 
 - 
hasWildcardspublic static boolean hasWildcards(java.lang.String input) 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
 
 - 
rtrimWildcardTokenspublic static java.lang.String rtrimWildcardTokens(java.lang.String input) removes from a pattern all tokens to the right containing wildcards- Parameters:
- input- the input string
- Returns:
- the leftmost part of the pattern without wildcards
 
 
- 
 
-