Top Description Methods
com.amazon.ion.impl.bin

public Interface _Private_IonManagedWriter

extends IonWriter
Known Direct Implementers
com.amazon.ion.impl.bin.IonManagedBinaryWriter
Annotations
@Deprecated
Imports
com.amazon.ion.IonWriter, java.io.IOException

Deprecated

This is a private API subject to change without notice.

An IonWriter that manages local symbol tables, while providing access to its underlying IonRawWriter.

Method Summary

Modifier and TypeMethod and Description
public _Private_IonRawWriter

Returns:

the _Private_IonRawWriter responsible for writing this IonManagedWriter's user values.
getRawWriter
()
References Deprecated _Private_IonRawWriter is deprecated or references (maybe indirectly) at least one deprecated element.

Get the underlying raw user value writer.

public void
requireLocalSymbolTable()

If a local symbol table has not already been started by this writer since it was constructed or last finished, start writing a local symbol table by opening the struct and declaring the imports.

Inherited from com.amazon.ion.IonWriter:
addTypeAnnotationclosefinishflushgetSymbolTableisInStructsetFieldNamesetFieldNameSymbolsetTypeAnnotationssetTypeAnnotationSymbolsstepInstepOutwriteBlobwriteBlobwriteBoolwriteClobwriteClobwriteDecimalwriteFloatwriteIntwriteIntwriteNullwriteNullwriteStringwriteSymbolwriteSymbolTokenwriteTimestampwriteTimestampUTCwriteValuewriteValuewriteValues

Method Detail

getRawWriterback to summary
public _Private_IonRawWriter getRawWriter()

References Deprecated

_Private_IonRawWriter is deprecated or references (maybe indirectly) at least one deprecated element.

See corresponding docs for further information.

Get the underlying raw user value writer. This may be used to directly write user values, field names, and annotations, bypassing any symbol table management performed by this IonManagedWriter.

Returns:_Private_IonRawWriter

the _Private_IonRawWriter responsible for writing this IonManagedWriter's user values.

requireLocalSymbolTableback to summary
public void requireLocalSymbolTable() throws IOException

If a local symbol table has not already been started by this writer since it was constructed or last finished, start writing a local symbol table by opening the struct and declaring the imports. Any local symbols subsequently written using this IonManagedWriter will be appended as they are encountered. When using the raw writer, a call to this API is required unless one of the following applies:

  • The user won't be writing any symbols.
  • The user has manually written the symbol table struct to the correct raw writer. In this case, making this call would start a new (and probably redundant) symbol table context, which is wasteful but not harmful.
  • The user definitely will be writing more symbols in this context using the managed writer.
Failing to call this when required will leave the system symbol table as the active symbol table context for the subsequently written values, which will lead to missing symbol ID mappings.