Package org.apache.tools.ant.types.selectors

## Class TokenizedPattern

- java.lang.Object
- - org.apache.tools.ant.types.selectors.TokenizedPattern

    public class TokenizedPattern
    extends java.lang.Object

Provides reusable path pattern matching. `TokenizedPattern` 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

Fields
`static TokenizedPattern` `EMPTY_PATTERN` Instance that holds no tokens at all.

### Constructor Summary

Constructors
`TokenizedPattern​(java.lang.String pattern)` Initialize the `TokenizedPattern` by parsing it.

### Method Summary

All Methods Instance Methods Concrete Methods
`boolean` `containsPattern​(java.lang.String pat)` Does the tokenized pattern contain the given string?
`int` `depth()` Get the depth (or length) of a pattern.
`boolean` `endsWith​(java.lang.String s)` Learn whether the last token equals the given string.
`boolean` `equals​(java.lang.Object o)` `true` if the original patterns are equal.
`java.lang.String` `getPattern()` Get the pattern.
`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 `TokenizedPattern` 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.

Parameters:
  `path` - `TokenizedPath`
  `caseSensitive` - `boolean`
Returns:
  `boolean`

#### toString

    public java.lang.String toString()

Overrides:
  `toString` in class `java.lang.Object`
Returns:
  The pattern `String`

#### getPattern

    public java.lang.String getPattern()

Get the pattern.

Returns:
  `String`

#### equals

    public boolean equals​(java.lang.Object o)

`true` if the original patterns are equal.

Overrides:
  `equals` in class `java.lang.Object`
Parameters:
  `o` - `Object`

#### hashCode

    public int hashCode()

Overrides:
  `hashCode` in class `java.lang.Object`

#### depth

    public int depth()

Get the depth (or length) of a pattern.

Returns:
  `int`

#### containsPattern

    public boolean containsPattern​(java.lang.String pat)

Does the tokenized pattern contain the given string?

Parameters:
  `pat` - `String`
Returns:
  `boolean`

#### 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)

Learn whether the last token equals the given string.

Parameters:
  `s` - `String`
Returns:
  `boolean`

#### withoutLastToken

    public TokenizedPattern withoutLastToken()

Returns a new pattern without the last token of this pattern.

Returns:
  `TokenizedPattern`