Top Description Methods
com.amazon.ion.impl

public Interface _Private_LocalSymbolTableFactory

Known Direct Implementers
com.amazon.ion.impl.LocalSymbolTable.Factory, com.amazon.ion.impl.LocalSymbolTableAsStruct.Factory
Annotations
@SuppressWarnings:javadoc
Imports
com.amazon.ion.IonCatalog, .IonReader, .IonType, .SymbolTable

NOT FOR APPLICATION USE Implementations of this interface may be provided to IonReaders in order to force them to construct LocalSymbolTables in a different way. In practice, this is used to construct a different LocalSymbolTable implementation for use with the DOM than is used purely by readers and writers. If LocalSymbolTableAsStruct is ever deleted, this can go away too.

Method Summary

Modifier and TypeMethod and Description
public SymbolTable
newLocalSymtab(IonCatalog
the catalog containing shared symtabs referenced by import declarations within the local symtab
catalog
,
IonReader
the reader positioned on the local symbol table represented as a struct
reader
,
boolean
denotes whether the reader is already positioned on the struct; false if it is positioned before the struct
alreadyInStruct
)

Constructs a new local symbol table represented by the current value of the passed in IonReader.

public SymbolTable
newLocalSymtab(SymbolTable
the default system symtab, which will be used if the first import in imports isn't a system symtab, never null
defaultSystemSymtab
,
SymbolTable...
the set of shared symbol tables to import; the first (and only the first) may be a system table, in which case the defaultSystemSymtab is ignored
imports
)

Constructs a new local symtab with given imports and local symbols.

Method Detail

newLocalSymtabback to summary
public SymbolTable newLocalSymtab(IonCatalog catalog, IonReader reader, boolean alreadyInStruct)

Constructs a new local symbol table represented by the current value of the passed in IonReader.

Note

It is assumed that the passed in reader is positioned properly on/before a value that represents a local symtab semantically. That is, no exception-checks are made on the IonType and annotation, callers are responsible for checking this!

Parameters
catalog:IonCatalog

the catalog containing shared symtabs referenced by import declarations within the local symtab

reader:IonReader

the reader positioned on the local symbol table represented as a struct

alreadyInStruct:boolean

denotes whether the reader is already positioned on the struct; false if it is positioned before the struct

newLocalSymtabback to summary
public SymbolTable newLocalSymtab(SymbolTable defaultSystemSymtab, SymbolTable... imports)

Constructs a new local symtab with given imports and local symbols.

Parameters
defaultSystemSymtab:SymbolTable

the default system symtab, which will be used if the first import in imports isn't a system symtab, never null

imports:SymbolTable[]

the set of shared symbol tables to import; the first (and only the first) may be a system table, in which case the defaultSystemSymtab is ignored

Exceptions
IllegalArgumentException:
if any import is a local table, or if any but the first is a system table
NullPointerException:
if any import is null