Warning
This interface should not be implemented or extended by code outside of this library.
In general, IonValue instances returned from one system instance
are not interoperable with those returned by other instances.
The intended usage pattern is for an application to construct a single
IonSystem instance and use it throughout,
rather than constructing multiple systems and intermingling their use.
To create a copy of a value for use by a different system, use
clone(IonValue).
To create an IonSystem,
see com..
Implementations of this interface are safe for use by multiple threads.
IonSystemBuilder
| Modifier and Type | Method and Description |
|---|---|
| public IonCatalog | |
| public IonLoader | |
| public SymbolTable | |
| public SymbolTable | Returns: the requested system table.must be of the form ionVersionId)"$ion_X_Y".Gets a system symbol table for a specific version of Ion. |
| public Iterator | |
| public Iterator | Returns: a new iterator instance.a stream of Ion data. The caller is responsible for
closing the InputStream after iteration is complete. ionData)
Deprecated
Will cause a memory leak when reading a gzipped stream.
Use
IonSystem#iterate(IonReader) instead.
Warning Will cause a memory leak when reading a gzipped stream, use
|
| public Iterator | |
| public Iterator | Returns: a new iterator instance.may be either Ion binary data or (UTF-8) Ion text, or
GZIPped Ion data.
This method assumes ownership of the array and may modify it at
will. ionData)
Deprecated
Will cause a memory leak when reading a gzipped byte[].
Use
IonSystem#iterate(IonReader) instead.
Warning Will cause a memory leak when reading a gzipped byte[], use
|
| public Iterator | |
| public IonWriter | Returns: a newIonWriter instance; not null.the stream to receive binary Ion data; not null. out, SymbolTable... a sequence of shared symbol tables to import.
The first (and only the first) may be a system table. imports)Creates a new writer that will encode binary Ion data, using the given shared symbol tables as imports. |
| public IonBinaryWriter | newBinaryWriter()
Deprecated
Use
newBinaryWriter(OutputStream, SymbolTable. instead.
Creates a new writer that will encode binary Ion data. |
| public IonBinaryWriter | newBinaryWriter(SymbolTable...
a sequence of shared symbol tables imports)
Deprecated
Use
newBinaryWriter(OutputStream, SymbolTable. instead.
Creates a new writer that will encode binary Ion data, using the given shared symbol tables as imports. |
| public IonTimestamp | newCurrentUtcTimestamp()
Constructs a new UTC |
| public IonDatagram | |
| public IonDatagram | Returns: a new datagram.becomes the first and only (user) value in the
datagram. The child's initialChild)system
must be this system.
If null, then the returned datagram will have no
user values.Creates a new datagram containing one value. |
| public IonDatagram | Returns: a new datagram with no user values.the set of shared symbol tables to import.
The first (and only the first) may be a system table. imports)Creates a new datagram, bootstrapped with imported symbol tables. |
| public IonLoader | |
| public IonLoader | newLoader(IonCatalog
may be null, in which case the loader will use the
default system catalog. catalog)Constructs a new loader instance using the given catalog. |
| public SymbolTable | Returns: a new local symbol table.the set of shared symbol tables to import.
The first (and only the first) may be a system table. imports)Creates a new local symbol table based on specific imported tables. |
| public IonTextReader | newReader(String
must not be null. ionText)
References Deprecated
IonTextReader is deprecated or references (maybe indirectly) at least one deprecated element.
Creates an new |
| public IonReader | |
| public IonReader | newReader(byte[]
is used only within the range of bytes starting at
ionData, int offset for len bytes.
The data in that range may be either Ion binary data, or UTF-8 Ion text.
The reader retains a reference to the array, so its data must not be
modified while the reader is active.must be non-negative and less than offset, int ionData.length.must be non-negative and len)offset+len must not exceed
ionData.length.Creates an new |
| public IonReader | Returns: a new reader instance. Callers must callIonReader#close() when finished with it.must not be null. ionData)Creates a new |
| public IonReader | |
| public IonReader | |
| public SymbolTable | Returns: a new shared symbol table with the given name and version.the symbol table name, a non-empty string. name, int at least one. version, Iterator<String> provides symbol names; may be null. newSymbols, SymbolTable... other tables from which to import symbols. imports)Creates a new shared symbol table containing a given set of symbols. |
| public SymbolTable | Returns: a new symbol table instance.must not be null. reader)Materializes a shared symbol table from its serialized form. |
| public SymbolTable | Returns: a new symbol table instance.must not be null. reader, boolean is true if the caller has aleady next-ed onto the struct, false if a next call is needed alreadyOnStruct)Materializes a shared symbol table from its serialized form. |
| public IonWriter | newTextWriter(OutputStream
the stream that will receive UTF-8 Ion text data.
Must not be null. out)Creates a new writer that will write UTF-8 text to the given output stream. |
| public IonWriter | newTextWriter(Appendable
the stream that will receive Ion text data.
Must not be null. out)Creates a new writer that will write text to the given output stream. |
| public IonWriter | newTextWriter(OutputStream
the stream that will receive UTF-8 Ion text data.
Must not be null. out, SymbolTable... a sequence of shared symbol tables imports)Creates a new writer that will write UTF-8 text to the given output stream, using the given shared symbol tables as imports. |
| public IonWriter | newTextWriter(Appendable
the stream that will receive Ion text data.
Must not be null. out, SymbolTable... a sequence of shared symbol tables.
The first (and only the first) may be a system table. imports)Creates a new writer that will write text to the given output stream, using the given shared symbol tables as imports. |
| public IonTimestamp | newUtcTimestamp(Date
the time of the new instance;
may be utcDate)null to make null.timestamp.Constructs a new UTC |
| public IonTimestamp | newUtcTimestampFromMillis(long
the milliseconds since 1970-01-01T00:00:00Z. millis)Constructs a new UTC |
| public IonValue | |
| public IonWriter | newWriter(IonContainer
a container that will receive new children from the
the returned writer.
Must not be null. container)Creates a new writer that will add |
| public IonValue | Returns: the first (and only) user value in the data; not null.must not be null. ionText)Extracts a single value from Ion text data. |
| public IonValue | Returns: the first (and only) user value in the data; not null.may be either Ion binary data or (UTF-8) Ion text, or
GZIPped Ion data.
This method assumes ownership of the array and may modify it at
will. ionData)Extracts a single value from Ion text or binary data. |
| public IonValue | Returns: the first (and only) user value in the data; not null.is used only within the range of bytes starting at
ionData, int offset for len bytes.
The data in that range may be either Ion binary data, or UTF-8 Ion text.must be non-negative and less than offset, int ionData.length.must be non-negative and len)offset+len must not exceedExtracts a single value from Ion text or binary data. |
| getCatalog | back to summary |
|---|---|
| public IonCatalog getCatalog() Gets the catalog used by this system. Unless otherwise noted, all objects derived from this system will use this catalog.
| |
| getLoader | back to summary |
|---|---|
| public IonLoader getLoader() Gets the default system loader. Applications may replace this loader with one configured appropriately, and then access it here.
| |
| getSystemSymbolTable | back to summary |
|---|---|
| public SymbolTable getSystemSymbolTable() Gets the default system symbol table.
| |
| getSystemSymbolTable | back to summary |
|---|---|
| public SymbolTable getSystemSymbolTable(String ionVersionId) throws UnsupportedIonVersionException Gets a system symbol table for a specific version of Ion.
| |
| iterate | back to summary |
|---|---|
| public Iterator Creates an iterator over a stream of Ion text data. Values returned by the iterator have no container. The iterator will automatically consume Ion system IDs and local symbol tables; they will not be returned by the iterator.
If the input source throws an This method is suitable for use over unbounded streams with a reasonable schema.
Applications should generally use Because this library performs its own buffering, it's recommended that you avoid adding additional buffering to the given stream.
| |
| iterate | back to summary |
|---|---|
| public Iterator Deprecated Will cause a memory leak when reading a gzipped stream.
Use Warning Will cause a memory leak when reading a gzipped stream, use
The iterator will automatically consume Ion system IDs and local symbol tables; they will not be returned by the iterator.
If the input source throws an This method is suitable for use over unbounded streams with a reasonable schema. This method will auto-detect and uncompress GZIPped Ion data. Because this library performs its own buffering, it's recommended that you avoid adding additional buffering to the given stream.
| |
| iterate | back to summary |
|---|---|
| public Iterator Creates an iterator over a string containing Ion text data. Values returned by the iterator have no container. The iterator will automatically consume Ion system IDs and local symbol tables; they will not be returned by the iterator.
| |
| iterate | back to summary |
|---|---|
| public Iterator Deprecated Will cause a memory leak when reading a gzipped byte[].
Use Warning Will cause a memory leak when reading a gzipped byte[], use
The iterator will automatically consume Ion system IDs and local symbol tables; they will not be returned by the iterator. This method will auto-detect and uncompress GZIPped Ion data.
| |
| iterate | back to summary |
|---|---|
| public Iterator Creates an iterator over Ion data. Values returned by the iterator have no container. The iterator will automatically consume Ion system IDs and local symbol tables; they will not be returned by the iterator.
| |
| newBinaryWriter | back to summary |
|---|---|
| public IonWriter newBinaryWriter(OutputStream out, SymbolTable... imports) Creates a new writer that will encode binary Ion data, using the given shared symbol tables as imports.
The output stream will start with an Ion Version Marker and a
local symbol table that uses the given
| |
| newBinaryWriter | back to summary |
|---|---|
| public IonBinaryWriter newBinaryWriter()
Deprecated Use Creates a new writer that will encode binary Ion data.
| |
| newBinaryWriter | back to summary |
|---|---|
| public IonBinaryWriter newBinaryWriter(SymbolTable... imports)
Deprecated Use Creates a new writer that will encode binary Ion data, using the given shared symbol tables as imports.
The output stream will be start with an Ion Version Marker and a
local symbol table that uses the given
| |
| newCurrentUtcTimestamp | back to summary |
|---|---|
| public IonTimestamp newCurrentUtcTimestamp() Constructs a new UTC | |
| newDatagram | back to summary |
|---|---|
| public IonDatagram newDatagram() Creates a new empty datagram.
| |
| newDatagram | back to summary |
|---|---|
| public IonDatagram newDatagram(IonValue initialChild) Creates a new datagram containing one value. If the given value is contained elsewhere, it is cloned before insertion.
| |
| newDatagram | back to summary |
|---|---|
| public IonDatagram newDatagram(SymbolTable... imports) Creates a new datagram, bootstrapped with imported symbol tables.
Generally an application will use this to aquire a datagram, then adds
values to it, then calls
| |
| newLoader | back to summary |
|---|---|
| public IonLoader newLoader() Constructs a new loader instance using the default system catalog. | |
| newLoader | back to summary |
|---|---|
| public IonLoader newLoader(IonCatalog catalog) Constructs a new loader instance using the given catalog.
| |
| newLocalSymbolTable | back to summary |
|---|---|
| public SymbolTable newLocalSymbolTable(SymbolTable... imports) Creates a new local symbol table based on specific imported tables. If the first imported table is a system table, then the local table will use it appropriately. Otherwise, the local table will use this system's default system symbol table.
| |
| newReader | back to summary |
|---|---|
| public IonTextReader newReader(String ionText)
References Deprecated
See corresponding docs for further information. Creates an new The text is parsed incrementally by the reader, so any syntax errors will not be detected during this call.
| |
| newReader | back to summary |
|---|---|
| public IonReader newReader(byte[] ionData) Creates an new This method will auto-detect and uncompress GZIPped Ion data.
| |
| newReader | back to summary |
|---|---|
| public IonReader newReader(byte[] ionData, int offset, int len) Creates an new This method will auto-detect and uncompress GZIPped Ion data.
| |
| newReader | back to summary |
|---|---|
| public IonReader newReader(InputStream ionData) Creates a new This method will auto-detect and uncompress GZIPped Ion data. Because this library performs its own buffering, it's recommended that you avoid adding additional buffering to the given stream.
| |
| newReader | back to summary |
|---|---|
| public IonReader newReader(Reader ionText) Creates an new
Applications should generally us Because this library performs its own buffering, it's recommended that you avoid adding additional buffering to the given stream.
| |
| newReader | back to summary |
|---|---|
| public IonReader newReader(IonValue value) Creates an new
| |
| newSharedSymbolTable | back to summary |
|---|---|
| public SymbolTable newSharedSymbolTable(String name, int version, Iterator<String> newSymbols, SymbolTable... imports) Creates a new shared symbol table containing a given set of symbols. The table will contain symbols in the following order:
This method is intended for use by utilities that are defining new
symbol tables for use by applications. The result will typically be
added to an
| |
| newSharedSymbolTable | back to summary |
|---|---|
| public SymbolTable newSharedSymbolTable(IonReader reader) Materializes a shared symbol table from its serialized form. This method expects the reader to be positioned before the struct. Which is to say the reader's next() method has not been called to position the reader on the symbol table struct.
| |
| newSharedSymbolTable | back to summary |
|---|---|
| public SymbolTable newSharedSymbolTable(IonReader reader, boolean alreadyOnStruct) Materializes a shared symbol table from its serialized form.
| |
| newTextWriter | back to summary |
|---|---|
| public IonWriter newTextWriter(OutputStream out) Creates a new writer that will write UTF-8 text to the given output stream.
| |
| newTextWriter | back to summary |
|---|---|
| public IonWriter newTextWriter(Appendable out) Creates a new writer that will write text to the given output stream.
| |
| newTextWriter | back to summary |
|---|---|
| public IonWriter newTextWriter(OutputStream out, SymbolTable... imports) throws IOException Creates a new writer that will write UTF-8 text to the given output stream, using the given shared symbol tables as imports.
The output stream will start with an Ion Version Marker and a
local symbol table that uses the given
| |
| newTextWriter | back to summary |
|---|---|
| public IonWriter newTextWriter(Appendable out, SymbolTable... imports) throws IOException Creates a new writer that will write text to the given output stream, using the given shared symbol tables as imports.
The output stream will start with an Ion Version Marker and a
local symbol table that uses the given
| |
| newUtcTimestamp | back to summary |
|---|---|
| public IonTimestamp newUtcTimestamp(Date utcDate) Constructs a new UTC
This is equivalent to
| |
| newUtcTimestampFromMillis | back to summary |
|---|---|
| public IonTimestamp newUtcTimestampFromMillis(long millis) Constructs a new UTC
| |
| newValue | back to summary |
|---|---|
| public IonValue newValue(IonReader reader) Extracts the current value from a reader into an
| |
| newWriter | back to summary |
|---|---|
| public IonWriter newWriter(IonContainer container) Creates a new writer that will add
| |
| singleValue | back to summary |
|---|---|
| public IonValue singleValue(String ionText) Extracts a single value from Ion text data.
| |
| singleValue | back to summary |
|---|---|
| public IonValue singleValue(byte[] ionData) Extracts a single value from Ion text or binary data. This method will auto-detect and uncompress GZIPped Ion data.
| |
| singleValue | back to summary |
|---|---|
| public IonValue singleValue(byte[] ionData, int offset, int len) Extracts a single value from Ion text or binary data. This method will auto-detect and uncompress GZIPped Ion data.
| |