org.apache.tools.ant.types.selectors
Class TokenizedPattern

java.lang.Object
  extended by org.apache.tools.ant.types.selectors.TokenizedPattern

public class TokenizedPattern
extends java.lang.Object

Provides reusable path pattern matching. PathPattern is preferable to equivalent SelectorUtils methods if you need to execute multiple matching with the same pattern because here the pattern itself will be parsed only once.

Since:
1.8.0
See Also:
SelectorUtils.matchPath(String, String), SelectorUtils.matchPath(String, String, boolean)

Field Summary
static TokenizedPattern EMPTY_PATTERN
          Instance that holds no tokens at all.
 
Constructor Summary
TokenizedPattern(java.lang.String pattern)
          Initialize the PathPattern by parsing it.
 
Method Summary
 boolean containsPattern(java.lang.String pat)
          Does the tokenized pattern contain the given string?
 int depth()
          The depth (or length) of a pattern.
 boolean endsWith(java.lang.String s)
          true if the last token equals the given string.
 boolean equals(java.lang.Object o)
          true if the original patterns are equal.
 java.lang.String getPattern()
           
 int hashCode()
           
 boolean matchPath(TokenizedPath path, boolean isCaseSensitive)
          Tests whether or not a given path matches a given pattern.
 boolean matchStartOf(TokenizedPath path, boolean caseSensitive)
          Tests whether or not this pattern matches the start of a path.
 TokenizedPath rtrimWildcardTokens()
          Returns a new TokenizedPath where all tokens of this pattern to the right containing wildcards have been removed
 java.lang.String toString()
           
 TokenizedPattern withoutLastToken()
          Returns a new pattern without the last token of this pattern.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

EMPTY_PATTERN

public static final TokenizedPattern EMPTY_PATTERN
Instance that holds no tokens at all.

Constructor Detail

TokenizedPattern

public TokenizedPattern(java.lang.String pattern)
Initialize the PathPattern by parsing it.

Parameters:
pattern - The pattern to match against. Must not be null.
Method Detail

matchPath

public boolean matchPath(TokenizedPath path,
                         boolean isCaseSensitive)
Tests whether or not a given path matches a given pattern.

Parameters:
path - 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.

matchStartOf

public boolean matchStartOf(TokenizedPath path,
                            boolean caseSensitive)
Tests whether or not this pattern matches the start of a path.


toString

public java.lang.String toString()
Overrides:
toString in class java.lang.Object
Returns:
The pattern String

getPattern

public java.lang.String getPattern()

equals

public boolean equals(java.lang.Object o)
true if the original patterns are equal.

Overrides:
equals in class java.lang.Object

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

depth

public int depth()
The depth (or length) of a pattern.


containsPattern

public boolean containsPattern(java.lang.String pat)
Does the tokenized pattern contain the given string?


rtrimWildcardTokens

public TokenizedPath rtrimWildcardTokens()
Returns a new TokenizedPath where all tokens of this pattern to the right containing wildcards have been removed

Returns:
the leftmost part of the pattern without wildcards

endsWith

public boolean endsWith(java.lang.String s)
true if the last token equals the given string.


withoutLastToken

public TokenizedPattern withoutLastToken()
Returns a new pattern without the last token of this pattern.