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
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 charboolean
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.
-
Constructor Details
-
ReaderCharacterSource
-
ReaderCharacterSource
-
ReaderCharacterSource
-
-
Method Details
-
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 interfaceCharacterSource
-
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 interfaceCharacterSource
-
hasChar
public final boolean hasChar()Description copied from interface:CharacterSource
Checks to see if there is a next character.- Specified by:
hasChar
in interfaceCharacterSource
-
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 interfaceCharacterSource
-
location
public final int location()Description copied from interface:CharacterSource
This is mostly for debugging and testing.- Specified by:
location
in interfaceCharacterSource
-
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 interfaceCharacterSource
-
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 interfaceCharacterSource
- Parameters:
match
- character to findesc
- escape character to avoid next char if escaped- Returns:
- list of chars until this is found.
-
hadEscape
public boolean hadEscape()- Specified by:
hadEscape
in interfaceCharacterSource
-
skipWhiteSpace
public void skipWhiteSpace()Description copied from interface:CharacterSource
Skip white space.- Specified by:
skipWhiteSpace
in interfaceCharacterSource
-
readNumber
public char[] readNumber()Description copied from interface:CharacterSource
Reads a number from the character source.- Specified by:
readNumber
in interfaceCharacterSource
-
errorDetails
- Specified by:
errorDetails
in interfaceCharacterSource
-