org.apache.commons.text.matcher

## Interface StringMatcher

-     public interface StringMatcher

  Determines if a character array portion matches.
  Since:
    1.3

- - ### Method Summary

    All Methods Instance Methods Abstract Methods Default Methods
    Modifier and Type | Method and Description
    --- | ---
    `default StringMatcher` | `andThen(StringMatcher stringMatcher)` Returns a matcher that matches this matcher followed by the given matcher.
    `default int` | `isMatch(char[] buffer, int pos)` Returns the number of matching characters, zero for no match.
    `int` | `isMatch(char[] buffer, int start, int bufferStart, int bufferEnd)` Returns the number of matching characters, `0` if there is no match.
    `default int` | `isMatch(CharSequence buffer, int pos)` Returns the number of matching characters, zero for no match.
    `default int` | `isMatch(CharSequence buffer, int start, int bufferStart, int bufferEnd)` Returns the number of matching characters, `0` if there is no match.
    `default int` | `size()` Returns the size of the matching string.

- - ### Method Detail

    - #### andThen

          default StringMatcher andThen(StringMatcher stringMatcher)

      Returns a matcher that matches this matcher followed by the given matcher.
      Parameters:
        `stringMatcher` - the next matcher.
      Returns:
        a matcher that matches this matcher followed by the given matcher.
      Since:
        1.9

    - #### isMatch

          default int isMatch(char[] buffer,
                              int pos)

      Returns the number of matching characters, zero for no match.

      This method is called to check for a match. The parameter `pos` represents the current position to be checked in the string `buffer` (a character array which must not be changed). The API guarantees that `pos` is a valid index for `buffer`.

      The matching code may check one character or many. It may check characters preceding `pos` as well as those after.

      It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

      Parameters:
        `buffer` - the text content to match against, do not change
        `pos` - the starting position for the match, valid for buffer
      Returns:
        The number of matching characters, zero for no match
      Since:
        1.9

    - #### isMatch

          int isMatch(char[] buffer,
                      int start,
                      int bufferStart,
                      int bufferEnd)

      Returns the number of matching characters, `0` if there is no match.

      This method is called to check for a match against a source `buffer`. The parameter `start` represents the start position to be checked in the `buffer` (a character array which MUST not be changed). The implementation SHOULD guarantees that `start` is a valid index in `buffer`.

      The character array may be larger than the active area to be matched. Only values in the buffer between the specified indices may be accessed, in other words: `bufferStart <= start < bufferEnd`.

      The matching code may check one character or many. It may check characters preceding `start` as well as those after, so long as no checks exceed the bounds specified.

      It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

      Parameters:
        `buffer` - the source text to search, do not change.
        `start` - the starting position for the match, valid in `buffer`.
        `bufferStart` - the first active index in the buffer, valid in `buffer`.
        `bufferEnd` - the end index (exclusive) of the active buffer, valid in `buffer`.
      Returns:
        The number of matching characters, zero if there is no match.

    - #### isMatch

          default int isMatch(CharSequence buffer,
                              int pos)

      Returns the number of matching characters, zero for no match.

      This method is called to check for a match. The parameter `pos` represents the current position to be checked in the string `buffer` (a character array which must not be changed). The API guarantees that `pos` is a valid index for `buffer`.

      The matching code may check one character or many. It may check characters preceding `pos` as well as those after.

      It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

      Parameters:
        `buffer` - the text content to match against, do not change
        `pos` - the starting position for the match, valid for buffer
      Returns:
        The number of matching characters, zero for no match
      Since:
        1.9

    - #### isMatch

          default int isMatch(CharSequence buffer,
                              int start,
                              int bufferStart,
                              int bufferEnd)

      Returns the number of matching characters, `0` if there is no match.

      This method is called to check for a match against a source `buffer`. The parameter `start` represents the start position to be checked in the `buffer` (a character array which MUST not be changed). The implementation SHOULD guarantees that `start` is a valid index in `buffer`.

      The character array may be larger than the active area to be matched. Only values in the buffer between the specified indices may be accessed, in other words: `bufferStart <= start < bufferEnd`.

      The matching code may check one character or many. It may check characters preceding `start` as well as those after, so long as no checks exceed the bounds specified.

      It must return zero for no match, or a positive number if a match was found. The number indicates the number of characters that matched.

      Parameters:
        `buffer` - the source text to search, do not change.
        `start` - the starting position for the match, valid in `buffer`.
        `bufferStart` - the first active index in the buffer, valid in `buffer`.
        `bufferEnd` - the end index (exclusive) of the active buffer, valid in `buffer`.
      Returns:
        The number of matching characters, zero if there is no match.
      Since:
        1.9

    - #### size

          default int size()

      Returns the size of the matching string. Defaults to 0.
      Returns:
        the size of the matching string.
      Since:
        1.9

Copyright © 2014–2020 The Apache Software Foundation. All rights reserved.