Package org.apache.groovy.json.internal

## Class ReaderCharacterSource

- java.lang.Object
- - org.apache.groovy.json.internal.ReaderCharacterSource

- All Implemented Interfaces:
    `CharacterSource`

      public class ReaderCharacterSource
      extends Object
      implements CharacterSource

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `ReaderCharacterSource​(Reader reader)` |
    `ReaderCharacterSource​(Reader reader, int readAheadSize)` |
    `ReaderCharacterSource​(String string)` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `boolean` | `consumeIfMatch​(char[] match)` | Useful for finding constants in a string like true, false, etc.
    `int` | `currentChar()` | returns the current character without changing the IO pointer or index.
    `String` | `errorDetails​(String message)` |
    `char[]` | `findNextChar​(int match, int esc)` | Used to find strings and their ilk Finds the next non-escaped char
    `boolean` | `hadEscape()` |
    `boolean` | `hasChar()` | Checks to see if there is a next character.
    `int` | `location()` | This is mostly for debugging and testing.
    `int` | `nextChar()` | returns the next character moving the file pointer or index to the next location.
    `char[]` | `readNumber()` | Reads a number from the character source.
    `int` | `safeNextChar()` | Combines the operations of nextChar and hasChar.
    `void` | `skipWhiteSpace()` | Skip white space.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### ReaderCharacterSource

          public ReaderCharacterSource​(Reader reader,
                                       int readAheadSize)

    - #### ReaderCharacterSource

          public ReaderCharacterSource​(Reader reader)

    - #### ReaderCharacterSource

          public ReaderCharacterSource​(String string)

  - ### Method Detail

    - #### nextChar

          public final int nextChar()

      Description copied from interface: `CharacterSource`
      returns the next character moving the file pointer or index to the next location.
      Specified by:
        `nextChar` in interface `CharacterSource`

    - #### currentChar

          public final int currentChar()

      Description copied from interface: `CharacterSource`
      returns the current character without changing the IO pointer or index.
      Specified by:
        `currentChar` in interface `CharacterSource`

    - #### hasChar

          public final boolean hasChar()

      Description copied from interface: `CharacterSource`
      Checks to see if there is a next character.
      Specified by:
        `hasChar` in interface `CharacterSource`

    - #### consumeIfMatch

          public final boolean consumeIfMatch​(char[] match)

      Description copied from interface: `CharacterSource`
      Useful for finding constants in a string like true, false, etc.
      Specified by:
        `consumeIfMatch` in interface `CharacterSource`

    - #### location

          public final int location()

      Description copied from interface: `CharacterSource`
      This is mostly for debugging and testing.
      Specified by:
        `location` in interface `CharacterSource`

    - #### safeNextChar

          public final int safeNextChar()

      Description copied from interface: `CharacterSource`
      Combines the operations of nextChar and hasChar. Characters is -1 if not found which signifies end of file. This might be preferable to avoid two method calls.
      Specified by:
        `safeNextChar` in interface `CharacterSource`

    - #### findNextChar

          public char[] findNextChar​(int match,
                                     int esc)

      Description copied from interface: `CharacterSource`
      Used to find strings and their ilk Finds the next non-escaped char
      Specified by:
        `findNextChar` in interface `CharacterSource`
      Parameters:
        `match` - character to find
        `esc` - escape character to avoid next char if escaped
      Returns:
        list of chars until this is found.

    - #### hadEscape

          public boolean hadEscape()

      Specified by:
        `hadEscape` in interface `CharacterSource`

    - #### skipWhiteSpace

          public void skipWhiteSpace()

      Description copied from interface: `CharacterSource`
      Skip white space.
      Specified by:
        `skipWhiteSpace` in interface `CharacterSource`

    - #### readNumber

          public char[] readNumber()

      Description copied from interface: `CharacterSource`
      Reads a number from the character source.
      Specified by:
        `readNumber` in interface `CharacterSource`

    - #### errorDetails

          public String errorDetails​(String message)

      Specified by:
        `errorDetails` in interface `CharacterSource`