Package com.amazon.ion.impl
Interface _Private_LocalSymbolTableFactory
-
public interface _Private_LocalSymbolTableFactoryNOT 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. IfLocalSymbolTableAsStructis ever deleted, this can go away too.
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description SymbolTablenewLocalSymtab(IonCatalog catalog, IonReader reader, boolean alreadyInStruct)Constructs a new local symbol table represented by the current value of the passed inIonReader.SymbolTablenewLocalSymtab(SymbolTable defaultSystemSymtab, SymbolTable... imports)Constructs a new local symtab with given imports and local symbols.
-
-
-
Method Detail
-
newLocalSymtab
SymbolTable newLocalSymtab(IonCatalog catalog, IonReader reader, boolean alreadyInStruct)
Constructs a new local symbol table represented by the current value of the passed inIonReader.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
IonTypeand annotation, callers are responsible for checking this!- Parameters:
catalog- the catalog containing shared symtabs referenced by import declarations within the local symtabreader- the reader positioned on the local symbol table represented as a structalreadyInStruct- denotes whether the reader is already positioned on the struct; false if it is positioned before the struct
-
newLocalSymtab
SymbolTable newLocalSymtab(SymbolTable defaultSystemSymtab, SymbolTable... imports)
Constructs a new local symtab with given imports and local symbols.- Parameters:
defaultSystemSymtab- the default system symtab, which will be used if the first import inimportsisn't a system symtab, never nullimports- the set of shared symbol tables to import; the first (and only the first) may be a system table, in which case thedefaultSystemSymtabis ignored- Throws:
java.lang.IllegalArgumentException- if any import is a local table, or if any but the first is a system tablejava.lang.NullPointerException- if any import is null
-
-