Top Description Inners Fields Constructors Methods
com.amazon.ion.impl

pack-priv final Class IonTokenReader

extends Object
Class Inheritance
Static Imports
com.amazon.ion.util.IonTextUtils.isDigit, .IonTextUtils.isOperatorPart, .IonTextUtils.isWhitespace, .IonTextUtils.printCodePointAsString

This class is responsible for breaking the input stream into Tokens. It does both the token recognition (aka the scanner) and the state management needed to use the value underlying some of these tokens.

Nested and Inner Type Summary

Modifier and TypeClass and Description
public static enum
pack-priv static class
pack-priv static enum
public static enum

Field Summary

Modifier and TypeField and Description
public IonTokenReader.Context
public Stack<IonTokenReader.Context>
public Timestamp
public BigDecimal
public Double
public int
pack-priv static final int
EMPTY_ESCAPE_SEQUENCE

Magic "character" to represent an escape sequence with an empty expansion.

public int
private IonCharacterReader
public boolean
public BigInteger
public static int
public static int
public static int
public boolean
public static int
public boolean
public boolean
private static int
private static int
public static int
public static int
public static int
public IonTokenReader.Type
private IonTokenReader.LocalReader
public IonTokenReader.NumberType
private PushbackReader
public boolean
public String
public IonTokenReader.Type
t

public StringBuilder

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
private void
pack-priv void
closeLongString()

Closes parsing of a triple-quote string, remembering that there may be more to come.

pack-priv void
pack-priv void
finishScanString(boolean is_in_expression)

Scans the rest of the string through endquote.

public int
public long
public int
public PushbackReader
public String
getValueString(boolean is_in_expression)

private final boolean
pack-priv void
leaveOpenString(int c, boolean longstring)

public boolean
pack-priv static IonTokenReader.Type
matchKeyword(StringBuilder sb, int pos, int valuelen)

public IonTokenReader.Type
next(boolean is_in_expression)

private IonTokenReader.Type
next(int c, boolean is_in_expression)

public IonTokenReader.Context
public String
public void
pack-priv final int

Returns:

-1 on end of stream.
read
()

Reads the next character using the underlying stream.

public static int
readDigit(PushbackReader r, int radix, boolean isRequired)

pack-priv int
readDigits(int limit, String field)

public static int

Returns:

the translated escape sequence. Will not return -1 since EOF is not legal in this context. May return EMPTY_ESCAPE_SEQUENCE to indicate a zero-length sequence such as BS-NL.
readEscapedCharacter
(PushbackReader r, boolean inClob)

pack-priv boolean
pack-priv int
readIdentifierContents(int c, int max_length)

pack-priv int
public IonTokenReader.Type
readNumber(int c)

pack-priv void
pack-priv IonTokenReader.Type
public IonTokenReader.Type
public IonTokenReader.Type
public IonTokenReader.Type
scanOperator(int c)

public IonTokenReader.Type
scanString(int c, int maxlookahead)

pack-priv IonTokenReader.Type
scanTimestamp(int
the last character scanned; must be '-'.
c
)

Scans a timestamp after reading yyyy-.

public IonTokenReader.Type
setNullType(StringBuilder sb, int pos, int valuelen)

private boolean

Returns:

true when there are two pending single quotes.
twoMoreSingleQuotes
()

If two single quotes are next on the input, consume them and return true.

pack-priv void
unread(int c)

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait