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

pack-priv final Class SymbolTableReader

extends Object
implements IonReader
Class Inheritance
All Implemented Interfaces
com.amazon.ion.IonReader, com.amazon.ion.facet.Faceted, java.io.Closeable, java.lang.AutoCloseable
Static Imports
com.amazon.ion.SystemSymbols.IMPORTS, .SystemSymbols.IMPORTS_SID, .SystemSymbols.ION_SHARED_SYMBOL_TABLE, .SystemSymbols.ION_SHARED_SYMBOL_TABLE_SID, .SystemSymbols.ION_SYMBOL_TABLE, .SystemSymbols.ION_SYMBOL_TABLE_SID, .SystemSymbols.MAX_ID, .SystemSymbols.MAX_ID_SID, .SystemSymbols.NAME, .SystemSymbols.NAME_SID, .SystemSymbols.SYMBOLS, .SystemSymbols.SYMBOLS_SID, .SystemSymbols.VERSION, .SystemSymbols.VERSION_SID, com.amazon.ion.impl._Private_Utils.newSymbolToken

This is a reader that traverses a SymbolTable and returns the contents as if the table was serialized in Ion in a standard fashion (in fact this serialization defines the "standard fashion"). This does not support open content in symbol tables and should. Support for open content will require additional data be kept in the SymbolTable, probably as an IonStruct or an IonReader or binary buffer. The reader uses the _state member to track its progress through the members of the outer struct, the import list and the symbol list. It used _idx to track its progress thought the elements of the import list and the elements of the symbol list. These are the states in a local symbol table: $ion_symbol_table:: { max_id:3, symbols:[ "symbol1", "symbol2", "symbol3" ] } States for a shared symbol Table: $ion_shared_symbol_table::{ name:"mySharedTable", version:1, max_id:3, imports:[ { name:"otherTable", version:2, max_id:192 }, { name:"yetAnotherTable", version:4, max_id:34 }, ], new symbols:[ "symbol1", "symbol2", "symbol3" ] } Version 1.0 system symbol table: $ion_symbol_table::{ version:1, max_id:9, symbols:[ "$ion", "$ion_1_0", "$ion_symbol_table", "name", "version", "imports", "symbols", "max_id", "$ion_shared_symbol_table" ] }

Nested and Inner Type Summary

Modifier and TypeClass and Description
private static enum

Field Summary

Modifier and TypeField and Description
private SymbolTable
pack-priv int
_current_state

_state tracks the progress through the various members, including the substructures in the import list and symbol list.

pack-priv int
_flags

state variables that hold the values referenced by the current reader position.

private Iterator<SymbolTable>
private SymbolTable[]
pack-priv long
pack-priv Iterator<String>
private final int
pack-priv String
private final SymbolTable
_symbol_table

The symbol table we are reading.

private static final int
private static final int
private static final int
HAS_NAME

these define the bit masked flags used to inform iteration over the optional values that may be present

private static final int
private static final int
private static final SymbolToken
private static final SymbolToken
pack-priv static final int
pack-priv static final int
S_BOF

these are the states of the reader.

pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int
pack-priv static final int

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public <T> T

Returns:

This implementation always returns null.
asFacet
(Class<T>
The type token of the requested facet type.
facetType
)

Implements com.amazon.ion.facet.Faceted.asFacet.

Returns a facet of this subject if supported.

public BigDecimal
bigDecimalValue()

Implements com.amazon.ion.IonReader.bigDecimalValue.

Returns the current value as a BigDecimal.

public BigInteger
bigIntegerValue()

Implements com.amazon.ion.IonReader.bigIntegerValue.

Returns the current value as a BigInteger.

public boolean
booleanValue()

Implements com.amazon.ion.IonReader.booleanValue.

Returns the current value as an boolean.

public int
byteSize()

Implements com.amazon.ion.IonReader.byteSize.

Gets the size in bytes of the current lob value.

public void
close()

Implements java.io.Closeable.close.

Closes this stream and releases any system resources associated with it.

public Date
dateValue()

Implements com.amazon.ion.IonReader.dateValue.

Returns the current value as a java.util.Date.

public Decimal
decimalValue()

Implements com.amazon.ion.IonReader.decimalValue.

Returns the current value as a Decimal, which extends BigDecimal with support for negative zeros.

public double
doubleValue()

Implements com.amazon.ion.IonReader.doubleValue.

Returns the current value as a double.

private static final String
get_state_name(int state)

public int
getBytes(byte[]
destination to copy the value into, this must not be null.
buffer
,
int
the first position to copy into, this must be non null and less than the length of buffer.
offset
,
int
the number of bytes available in the buffer to copy into, this must be long enough to hold the whole value and not extend outside of buffer.
len
)

Implements com.amazon.ion.IonReader.getBytes.

Copies the current value into the passed in a byte array.

public int
getDepth()

Implements com.amazon.ion.IonReader.getDepth.

Returns the depth into the Ion value that this reader has traversed.

public int
getFieldId()

Implements com.amazon.ion.IonReader.getFieldId.

/** Gets the symbol ID of the field name attached to the current value.

public String
getFieldName()

Implements com.amazon.ion.IonReader.getFieldName.

Return the field name of the current value.

public SymbolToken
getFieldNameSymbol()

Implements com.amazon.ion.IonReader.getFieldNameSymbol.

Gets the current value's field name as a symbol token (text + ID).

public IntegerSize
getIntegerSize()

Implements com.amazon.ion.IonReader.getIntegerSize.

Returns an IntegerSize representing the smallest-possible Java type of the Ion int at the current value.

public SymbolTable
getSymbolTable()

Implements com.amazon.ion.IonReader.getSymbolTable.

Returns the symbol table that is applicable to the current value.

public IonType
getType()

Implements com.amazon.ion.IonReader.getType.

Returns the type of the current value, or null if there is no current value.

public String[]
getTypeAnnotations()

Implements com.amazon.ion.IonReader.getTypeAnnotations.

Return the annotations of the current value as an array of strings.

public SymbolToken[]
getTypeAnnotationSymbols()

Implements com.amazon.ion.IonReader.getTypeAnnotationSymbols.

Gets the current value's annotations as symbol tokens (text + ID).

private final boolean
pack-priv final boolean
pack-priv final boolean
pack-priv final boolean
pack-priv final boolean
public boolean
hasNext()

Implements com.amazon.ion.IonReader.hasNext.

Determines whether there is another value at the current depth; in other words whether there is a sibling value that may be reached using next().

pack-priv final boolean
public int
intValue()

Implements com.amazon.ion.IonReader.intValue.

Returns the current value as an int.

public boolean
isInStruct()

Implements com.amazon.ion.IonReader.isInStruct.

Determines whether this reader is currently traversing the fields of an Ion struct.

public boolean
isNullValue()

Implements com.amazon.ion.IonReader.isNullValue.

Determines whether the current value is a null Ion value of any type (for example, null or null.int).

public Iterator<String>
iterateTypeAnnotations()

Implements com.amazon.ion.IonReader.iterateTypeAnnotations.

Return the annotations on the curent value as an iterator.

private final void
loadStateData(int new_state)

public long
longValue()

Implements com.amazon.ion.IonReader.longValue.

Returns the current value as a long.

public byte[]
newBytes()

Implements com.amazon.ion.IonReader.newBytes.

Returns the current value as a newly-allocated byte array.

public IonType
next()

Implements com.amazon.ion.IonReader.next.

this computes the actual move to the next state It does take into account the existence or absence of various properties, such as the symbol table name which is only present in some symbol tables.

private final int
private final void
set_flag(int flag_bit, boolean flag_state)

pack-priv static final int
stateDepth(int state)

private final int
private final int
private final int
private final int
pack-priv static final IonType
stateType(int state)

public void
stepIn()

Implements com.amazon.ion.IonReader.stepIn.

Positions the reader just before the contents of the current value, which must be a container (list, sexp, or struct).

public void
stepOut()

Implements com.amazon.ion.IonReader.stepOut.

Positions the iterator after the current parent's value, moving up one level in the data hierarchy.

public String
stringValue()

Implements com.amazon.ion.IonReader.stringValue.

Returns the current value as a Java String.

public SymbolToken
symbolValue()

Implements com.amazon.ion.IonReader.symbolValue.

Returns the current value as a symbol token (text + ID).

private final boolean
test_flag(int flag_bit)

private static final void
public Timestamp
timestampValue()

Implements com.amazon.ion.IonReader.timestampValue.

Returns the current value as a Timestamp.

Inherited from java.lang.Object:
cloneequalsfinalizegetClasshashCodenotifynotifyAlltoStringwaitwaitwait

Field Detail

_current_importback to summary
private SymbolTable _current_import
_current_stateback to summary
pack-priv int _current_state

_state tracks the progress through the various members, including the substructures in the import list and symbol list. The previous state is needed when we run into an end of container.

_flagsback to summary
pack-priv int _flags

state variables that hold the values referenced by the current reader position. These are filled in by nextStateDepthFirst() and used by the value getting methods. The iterators are opened when the user steps into one of the two lists (imports and symbols).

_import_iteratorback to summary
private Iterator<SymbolTable> _import_iterator
_imported_tablesback to summary
private SymbolTable[] _imported_tables
_int_valueback to summary
pack-priv long _int_value
_local_symbolsback to summary
pack-priv Iterator<String> _local_symbols
_maxIdback to summary
private final int _maxId
_string_valueback to summary
pack-priv String _string_value
_symbol_tableback to summary
private final SymbolTable _symbol_table

The symbol table we are reading. We MUST NOT call methods whose value may change! Otherwise there's a thread-safety problem.

HAS_IMPORT_LISTback to summary
private static final int HAS_IMPORT_LIST
HAS_MAX_IDback to summary
private static final int HAS_MAX_ID
HAS_NAMEback to summary
private static final int HAS_NAME

these define the bit masked flags used to inform iteration over the optional values that may be present

HAS_SYMBOL_LISTback to summary
private static final int HAS_SYMBOL_LIST
HAS_VERSIONback to summary
private static final int HAS_VERSION
ION_SHARED_SYMBOL_TABLE_SYMback to summary
private static final SymbolToken ION_SHARED_SYMBOL_TABLE_SYM
ION_SYMBOL_TABLE_SYMback to summary
private static final SymbolToken ION_SYMBOL_TABLE_SYM
S_AFTER_IMPORT_LISTback to summary
pack-priv static final int S_AFTER_IMPORT_LIST
S_BOFback to summary
pack-priv static final int S_BOF

these are the states of the reader. Each state tells the reader it is just before (or on as you might want to think about it) one of the possible values in the serialized image.

S_EOFback to summary
pack-priv static final int S_EOF
S_IMPORT_LISTback to summary
pack-priv static final int S_IMPORT_LIST
S_IMPORT_LIST_CLOSEback to summary
pack-priv static final int S_IMPORT_LIST_CLOSE
S_IMPORT_MAX_IDback to summary
pack-priv static final int S_IMPORT_MAX_ID
S_IMPORT_NAMEback to summary
pack-priv static final int S_IMPORT_NAME
S_IMPORT_STRUCTback to summary
pack-priv static final int S_IMPORT_STRUCT
S_IMPORT_STRUCT_CLOSEback to summary
pack-priv static final int S_IMPORT_STRUCT_CLOSE
S_IMPORT_VERSIONback to summary
pack-priv static final int S_IMPORT_VERSION
S_IN_IMPORT_STRUCTback to summary
pack-priv static final int S_IN_IMPORT_STRUCT
S_IN_IMPORTSback to summary
pack-priv static final int S_IN_IMPORTS
S_IN_STRUCTback to summary
pack-priv static final int S_IN_STRUCT
S_IN_SYMBOLSback to summary
pack-priv static final int S_IN_SYMBOLS
S_MAX_IDback to summary
pack-priv static final int S_MAX_ID
S_NAMEback to summary
pack-priv static final int S_NAME
S_STRUCTback to summary
pack-priv static final int S_STRUCT
S_STRUCT_CLOSEback to summary
pack-priv static final int S_STRUCT_CLOSE
S_SYMBOLback to summary
pack-priv static final int S_SYMBOL
S_SYMBOL_LISTback to summary
pack-priv static final int S_SYMBOL_LIST
S_SYMBOL_LIST_CLOSEback to summary
pack-priv static final int S_SYMBOL_LIST_CLOSE
S_VERSIONback to summary
pack-priv static final int S_VERSION

Constructor Detail

SymbolTableReaderback to summary
public SymbolTableReader(SymbolTable symbol_table)

Method Detail

asFacetback to summary
public <T> T asFacet(Class<T> facetType)

Implements com.amazon.ion.facet.Faceted.asFacet.

Doc from com.amazon.ion.facet.Faceted.asFacet.

Returns a facet of this subject if supported.

Parameters
<T>
The requested facet type.
facetType:Class<T>

The type token of the requested facet type.

Returns:T

This implementation always returns null.

bigDecimalValueback to summary
public BigDecimal bigDecimalValue()

Implements com.amazon.ion.IonReader.bigDecimalValue.

Doc from com.amazon.ion.IonReader.bigDecimalValue.

Returns the current value as a BigDecimal. This method should not return a Decimal, so it lacks support for negative zeros.

This method is only valid when getType() returns IonType#DECIMAL.

Returns:BigDecimal

the current value as a BigDecimal, or null if the current value is null.decimal.

bigIntegerValueback to summary
public BigInteger bigIntegerValue()

Implements com.amazon.ion.IonReader.bigIntegerValue.

Doc from com.amazon.ion.IonReader.bigIntegerValue.

Returns the current value as a BigInteger. This is only valid if there is an underlying value and the value is of type int or float.

booleanValueback to summary
public boolean booleanValue()

Implements com.amazon.ion.IonReader.booleanValue.

Doc from com.amazon.ion.IonReader.booleanValue.

Returns the current value as an boolean. This is only valid when getType() returns IonType#BOOL.

byteSizeback to summary
public int byteSize()

Implements com.amazon.ion.IonReader.byteSize.

Doc from com.amazon.ion.IonReader.byteSize.

Gets the size in bytes of the current lob value. This is only valid when getType() returns IonType#BLOB or IonType#CLOB.

Returns:int

the lob's size in bytes.

closeback to summary
public void close() throws IOException

Implements java.io.Closeable.close.

Doc from java.io.Closeable.close.

Closes this stream and releases any system resources associated with it. If the stream is already closed then invoking this method has no effect.

As noted in AutoCloseable#close(), cases where the close may fail require careful attention. It is strongly advised to relinquish the underlying resources and to internally mark the Closeable as closed, prior to throwing the IOException.

Exceptions
IOException:
if an I/O error occurs
dateValueback to summary
public Date dateValue()

Implements com.amazon.ion.IonReader.dateValue.

Doc from com.amazon.ion.IonReader.dateValue.

Returns the current value as a java.util.Date. This is only valid when getType() returns IonType#TIMESTAMP.

Returns:Date

the current value as a Date, or null if the current value is null.timestamp.

decimalValueback to summary
public Decimal decimalValue()

Implements com.amazon.ion.IonReader.decimalValue.

Doc from com.amazon.ion.IonReader.decimalValue.

Returns the current value as a Decimal, which extends BigDecimal with support for negative zeros. This is only valid when getType() returns IonType#DECIMAL.

Returns:Decimal

the current value as a Decimal, or null if the current value is null.decimal.

doubleValueback to summary
public double doubleValue()

Implements com.amazon.ion.IonReader.doubleValue.

Doc from com.amazon.ion.IonReader.doubleValue.

Returns the current value as a double. This is only valid if there is an underlying value and the value is either float, or decimal.

get_state_nameback to summary
private static final String get_state_name(int state)
getBytesback to summary
public int getBytes(byte[] buffer, int offset, int len)

Implements com.amazon.ion.IonReader.getBytes.

Doc from com.amazon.ion.IonReader.getBytes.

Copies the current value into the passed in a byte array. This is only valid when getType() returns IonType#BLOB or IonType#CLOB.

Parameters
buffer:byte[]

destination to copy the value into, this must not be null.

offset:int

the first position to copy into, this must be non null and less than the length of buffer.

len:int

the number of bytes available in the buffer to copy into, this must be long enough to hold the whole value and not extend outside of buffer.

getDepthback to summary
public int getDepth()

Implements com.amazon.ion.IonReader.getDepth.

Doc from com.amazon.ion.IonReader.getDepth.

Returns the depth into the Ion value that this reader has traversed. At top level the depth is 0, and it increases by one on each call to stepIn().

getFieldIdback to summary
public int getFieldId()

Implements com.amazon.ion.IonReader.getFieldId.

Doc from com.amazon.ion.IonReader.getFieldId.

/** Gets the symbol ID of the field name attached to the current value.

This is an "expert method": correct use requires deep understanding of the Ion binary format. You almost certainly don't want to use it.

Returns:int

the symbol ID of the field name, if the current value is a field within a struct. If the current value is not a field, or if the symbol ID cannot be determined, this method returns a value less than one.

getFieldNameback to summary
public String getFieldName()

Implements com.amazon.ion.IonReader.getFieldName.

Doc from com.amazon.ion.IonReader.getFieldName.

Return the field name of the current value. Or null if there is no valid current value or if the current value is not a field of a struct.

getFieldNameSymbolback to summary
public SymbolToken getFieldNameSymbol()

Implements com.amazon.ion.IonReader.getFieldNameSymbol.

Doc from com.amazon.ion.IonReader.getFieldNameSymbol.

Gets the current value's field name as a symbol token (text + ID). If the text of the token isn't known, the result's SymbolToken#getText() will be null. If the symbol ID of the token isn't known, the result's SymbolToken#getSid() will be SymbolTable#UNKNOWN_SYMBOL_ID. At least one of the two fields will be defined.

Returns:SymbolToken

null if there is no current value or if the current value is not a field of a struct.

getIntegerSizeback to summary
public IntegerSize getIntegerSize()

Implements com.amazon.ion.IonReader.getIntegerSize.

Doc from com.amazon.ion.IonReader.getIntegerSize.

Returns an IntegerSize representing the smallest-possible Java type of the Ion int at the current value. If the current value is null.int or is not an Ion int, or if there is no current value, null will be returned.

getSymbolTableback to summary
public SymbolTable getSymbolTable()

Implements com.amazon.ion.IonReader.getSymbolTable.

Doc from com.amazon.ion.IonReader.getSymbolTable.

Returns the symbol table that is applicable to the current value. This may be either a system or local symbol table.

getTypeback to summary
public IonType getType()

Implements com.amazon.ion.IonReader.getType.

Doc from com.amazon.ion.IonReader.getType.

Returns the type of the current value, or null if there is no current value.

getTypeAnnotationsback to summary
public String[] getTypeAnnotations()

Implements com.amazon.ion.IonReader.getTypeAnnotations.

Doc from com.amazon.ion.IonReader.getTypeAnnotations.

Return the annotations of the current value as an array of strings.

Returns:String[]

the (ordered) annotations on the current value, or an empty array (not null) if there are none.

getTypeAnnotationSymbolsback to summary
public SymbolToken[] getTypeAnnotationSymbols()

Implements com.amazon.ion.IonReader.getTypeAnnotationSymbols.

Doc from com.amazon.ion.IonReader.getTypeAnnotationSymbols.

Gets the current value's annotations as symbol tokens (text + ID).

Returns:SymbolToken[]

the (ordered) annotations on the current value, or an empty array (not null) if there are none.

has_next_helperback to summary
private final boolean has_next_helper()
hasImportsback to summary
pack-priv final boolean hasImports()
hasLocalSymbolsback to summary
pack-priv final boolean hasLocalSymbols()
hasMaxIdback to summary
pack-priv final boolean hasMaxId()
hasNameback to summary
pack-priv final boolean hasName()
hasNextback to summary
public boolean hasNext()

Implements com.amazon.ion.IonReader.hasNext.

Doc from com.amazon.ion.IonReader.hasNext.

Determines whether there is another value at the current depth; in other words whether there is a sibling value that may be reached using next(). This method may be called multiple times, which does not move the current position.

Warning

this method alters the internal state of the reader such that you cannot reliably get values from the "current" element. The only thing you should call after hasNext() is next()!

hasVersionback to summary
pack-priv final boolean hasVersion()
intValueback to summary
public int intValue()

Implements com.amazon.ion.IonReader.intValue.

Doc from com.amazon.ion.IonReader.intValue.

Returns the current value as an int. This is only valid if there is an underlying value and the value is of a numeric type (int, float, or decimal).

isInStructback to summary
public boolean isInStruct()

Implements com.amazon.ion.IonReader.isInStruct.

Doc from com.amazon.ion.IonReader.isInStruct.

Determines whether this reader is currently traversing the fields of an Ion struct. It returns false if the iteration is in a list, a sexp, or a datagram.

isNullValueback to summary
public boolean isNullValue()

Implements com.amazon.ion.IonReader.isNullValue.

Doc from com.amazon.ion.IonReader.isNullValue.

Determines whether the current value is a null Ion value of any type (for example, null or null.int). It should be called before calling getters that return value types (int, long, boolean, double).

iterateTypeAnnotationsback to summary
public Iterator<String> iterateTypeAnnotations()

Implements com.amazon.ion.IonReader.iterateTypeAnnotations.

Doc from com.amazon.ion.IonReader.iterateTypeAnnotations.

Return the annotations on the curent value as an iterator. The iterator is empty (hasNext() returns false on the first call) if there are no annotations on the current value.

Implementations *may* throw UnknownSymbolException from this method if any annotation contains unknown text. Alternatively, implementations may provide an Iterator that throws UnknownSymbolException only when the user navigates the iterator to an annotation with unknown text.

Note

the iterator returned by this method is only valid while the reader remains positioned on the current value (i.e., before next, step in, or step out). Use cases that require storing a value's annotations after advancing past that value should either copy them from the iterator or call getTypeAnnotations().

Returns:Iterator<String>

not null.

loadStateDataback to summary
private final void loadStateData(int new_state)
longValueback to summary
public long longValue()

Implements com.amazon.ion.IonReader.longValue.

Doc from com.amazon.ion.IonReader.longValue.

Returns the current value as a long. This is only valid if there is an underlying value and the value is of a numeric type (int, float, or decimal).

newBytesback to summary
public byte[] newBytes()

Implements com.amazon.ion.IonReader.newBytes.

Doc from com.amazon.ion.IonReader.newBytes.

Returns the current value as a newly-allocated byte array. This is only valid when getType() returns IonType#BLOB or IonType#CLOB.

nextback to summary
public IonType next()

Implements com.amazon.ion.IonReader.next.

this computes the actual move to the next state It does take into account the existence or absence of various properties, such as the symbol table name which is only present in some symbol tables. This also fills in a variety of current state variables that are used to return correct values by the "get" methods.

Returns:IonType

Doc from com.amazon.ion.IonReader.next.

the type of the next Ion value (never IonType#DATAGRAM), or null when there are no more elements at the current depth in the same container.

nextImportback to summary
private final int nextImport()
set_flagback to summary
private final void set_flag(int flag_bit, boolean flag_state)
stateDepthback to summary
pack-priv static final int stateDepth(int state)
stateFirstInStructback to summary
private final int stateFirstInStruct()
stateFollowingImportListback to summary
private final int stateFollowingImportList(SymbolTableReader.Op op)
stateFollowingLocalSymbolsback to summary
private final int stateFollowingLocalSymbols()
stateFollowingMaxIdback to summary
private final int stateFollowingMaxId()
stateTypeback to summary
pack-priv static final IonType stateType(int state)
stepInback to summary
public void stepIn()

Implements com.amazon.ion.IonReader.stepIn.

Doc from com.amazon.ion.IonReader.stepIn.

Positions the reader just before the contents of the current value, which must be a container (list, sexp, or struct). There's no current value immediately after stepping in, so the next thing you'll want to do is call next() to move onto the first child value (or learn that there's not one).

Stepping into a null container (null.list, null.sexp, or null.struct) behaves as if the container were empty ([], (), or {}).

At any time stepOut() may be called to move the cursor back to (just after) the parent value, even if there's more children remaining.

stepOutback to summary
public void stepOut()

Implements com.amazon.ion.IonReader.stepOut.

Doc from com.amazon.ion.IonReader.stepOut.

Positions the iterator after the current parent's value, moving up one level in the data hierarchy. There's no current value immediately after stepping out, so the next thing you'll want to do is call next() to move onto the following value.

stringValueback to summary
public String stringValue()

Implements com.amazon.ion.IonReader.stringValue.

Doc from com.amazon.ion.IonReader.stringValue.

Returns the current value as a Java String. This is only valid when getType() returns IonType#STRING or IonType#SYMBOL.

symbolValueback to summary
public SymbolToken symbolValue()

Implements com.amazon.ion.IonReader.symbolValue.

Doc from com.amazon.ion.IonReader.symbolValue.

Returns the current value as a symbol token (text + ID). This is only valid when getType() returns IonType#SYMBOL.

Returns:SymbolToken

null if isNullValue()

test_flagback to summary
private final boolean test_flag(int flag_bit)
throwUnrecognizedStateback to summary
private static final void throwUnrecognizedState(int state)
timestampValueback to summary
public Timestamp timestampValue()

Implements com.amazon.ion.IonReader.timestampValue.

Doc from com.amazon.ion.IonReader.timestampValue.

Returns the current value as a Timestamp. This is only valid when getType() returns IonType#TIMESTAMP.

Returns:Timestamp

the current value as a Timestamp, or null if the current value is null.timestamp.

com.amazon.ion.impl back to summary

private final Enum SymbolTableReader.Op

extends Enum<SymbolTableReader.Op>
Class Inheritance

Field Summary

Modifier and TypeField and Description
public static final SymbolTableReader.Op
public static final SymbolTableReader.Op

Constructor Summary

AccessConstructor and Description
private
Op()

Method Summary

Modifier and TypeMethod and Description
public static SymbolTableReader.Op
public static SymbolTableReader.Op[]
Inherited from java.lang.Enum:
clonecompareTodescribeConstableequalsfinalizegetDeclaringClasshashCodenameordinaltoStringvalueOf

Field Detail

NEXTback to summary
public static final SymbolTableReader.Op NEXT
STEPOUTback to summary
public static final SymbolTableReader.Op STEPOUT

Constructor Detail

Opback to summary
private Op()

Method Detail

valueOfback to summary
public static SymbolTableReader.Op valueOf(String name)
valuesback to summary
public static SymbolTableReader.Op[] values()