groovy.json.internal

## Class ReaderCharacterSource

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

All Implemented Interfaces:
  CharacterSource

    public class ReaderCharacterSource
    extends java.lang.Object
    implements CharacterSource

Author:
  Richard Hightower

### Constructor Summary

Constructors
Constructor and Description
`ReaderCharacterSource(java.io.Reader reader)`
`ReaderCharacterSource(java.io.Reader reader, int readAheadSize)`
`ReaderCharacterSource(java.lang.String string)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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.
`java.lang.String` `errorDetails(java.lang.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(java.io.Reader reader,
                                 int readAheadSize)

#### ReaderCharacterSource

    public ReaderCharacterSource(java.io.Reader reader)

#### ReaderCharacterSource

    public ReaderCharacterSource(java.lang.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 java.lang.String errorDetails(java.lang.String message)

Specified by:
  `errorDetails` in interface `CharacterSource`