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. 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

    Fields
    Modifier and Type | Field | Description
    --- | --- | ---
    `static TokenizedPattern` | `EMPTY_PATTERN` | Instance that holds no tokens at all.

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `TokenizedPattern​(java.lang.String pattern)` | Initialize the PathPattern by parsing it.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `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.
      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()

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

      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)

      true if 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