| Modifier and Type | Class and Description |
|---|---|
| private static class |
| Modifier and Type | Field and Description |
|---|---|
| private final _Private_IonManagedBinaryWriterBuilder | |
| private SymbolTable | myInitialSymbolTable
System or local |
| private ValueFactory |
| Access | Constructor and Description |
|---|---|
| private | |
| private |
| Modifier and Type | Method and Description |
|---|---|
| public final IonWriter | build(OutputStream
the stream that will receive Ion data.
Must not be null. out)Implements abstract com. Builds a new writer based on this builder's configuration properties. |
| pack-priv SymbolTable | |
| public final IonBinaryWriter | |
| private IonWriterSystemBinary | |
| public final _Private_IonBinaryWriterBuilder | copy()
Implements abstract com. Creates a mutable copy of this builder. |
| private _Private_IonBinaryWriterBuilder | |
| private _Private_IonBinaryWriterBuilder | |
| public SymbolTable | getInitialSymbolTable()
Implements abstract com. Gets the symbol table to use for encoded data. |
| public ValueFactory | |
| public _Private_IonBinaryWriterBuilder | immutable()
Implements abstract com. Returns an immutable builder configured exactly like this one. |
| public _Private_IonBinaryWriterBuilder | mutable()
Implements abstract com. Returns a mutable builder configured exactly like this one. |
| public void | |
| public void | |
| public void | setCatalog(final IonCatalog
the catalog to use in built writers.
If null, the writer will be unable to resolve manually-written imports
and may throw an exception. catalog)Overrides com. Sets the catalog to use when building an |
| public void | setImports(final SymbolTable...
a sequence of shared symbol tables.
The first (and only the first) may be a system table. imports)Overrides com. Sets the shared symbol tables that will be used to construct the initial local symbol table. |
| public void | setInitialSymbolTable(SymbolTable
must be a local or system symbol table.
May be null, in which case the initial symtab is that of
symtab)$ion_1_0.Implements abstract com. Declares the symbol table to use for encoded data. |
| public void | setIsFloatBinary32Enabled(boolean
true to enable writing 4-byte floats,
false to always write 8-byte floats.Implements abstract com. Enables or disables writing Binary32 (4-byte, single precision, IEEE-754) values for floats when there would be no loss in precision. |
| public void | setLocalSymbolTableAppendEnabled(boolean enabled)
Implements abstract com. Enables or disables writing local symbol tables that append symbols to the current symbol table. |
| public void | setStreamCopyOptimized(final boolean optimized)
Overrides com. Declares whether built writers may attempt to optimize
|
| public void | |
| public static _Private_IonBinaryWriterBuilder | Returns: a new mutable builder.Hides com. The standard builder of binary writers, with all configuration properties having their default values. |
| public _Private_IonBinaryWriterBuilder | withAutoFlushEnabled(boolean
A boolean parameter indicating whether this functionality is enabled or not. autoFlushEnabled)Implements abstract com. Auto-flush enables automatic execution of flush operations during the write process. |
| public _Private_IonBinaryWriterBuilder | withBlockSize(int
represent the specified block size in bytes.
If this functionality is not set, the default block size is 32768 bytes. size)Implements abstract com. Specify the block size for write buffer. |
| public _Private_IonBinaryWriterBuilder | withFloatBinary32Disabled()
Implements abstract com. Disables writing Binary32 (4-byte, single precision, IEEE-754) values for floats. |
| public _Private_IonBinaryWriterBuilder | withFloatBinary32Enabled()
Implements abstract com. Enables writing Binary32 (4-byte, single precision, IEEE-754) values for floats when there would be no loss in precision. |
| public _Private_IonBinaryWriterBuilder | withInitialSymbolTable(SymbolTable
may be null. symtab)Implements abstract com. Defaults to $ion_1_0 if null. |
| public _Private_IonBinaryWriterBuilder | withLocalSymbolTableAppendDisabled()
Implements abstract com. Disables writing local symbol tables that append symbols to the current symbol table. |
| public _Private_IonBinaryWriterBuilder | withLocalSymbolTableAppendEnabled()
Implements abstract com. Enables writing local symbol tables that append symbols to the current symbol table. |
| public _Private_IonBinaryWriterBuilder |
| myBinaryWriterBuilder | back to summary |
|---|---|
| private final _Private_IonManagedBinaryWriterBuilder myBinaryWriterBuilder | |
| myInitialSymbolTable | back to summary |
|---|---|
| private SymbolTable myInitialSymbolTable System or local | |
| mySymtabValueFactory | back to summary |
|---|---|
| private ValueFactory mySymtabValueFactory | |
| _Private_IonBinaryWriterBuilder | back to summary |
|---|---|
| private _Private_IonBinaryWriterBuilder() | |
| _Private_IonBinaryWriterBuilder | back to summary |
|---|---|
| private _Private_IonBinaryWriterBuilder(_Private_IonBinaryWriterBuilder that) | |
| build | back to summary |
|---|---|
| public final IonWriter build(OutputStream out) Implements abstract com. Doc from com. Builds a new writer based on this builder's configuration properties.
| |
| buildContextSymbolTable | back to summary |
|---|---|
| pack-priv SymbolTable buildContextSymbolTable() Returns a symtab usable in a local context.
This copies | |
| buildLegacy | back to summary |
|---|---|
| public final IonBinaryWriter buildLegacy()
Deprecated
| |
| buildSystemWriter | back to summary |
|---|---|
| private IonWriterSystemBinary buildSystemWriter(OutputStream out) | |
| copy | back to summary |
|---|---|
| public final _Private_IonBinaryWriterBuilder copy() Implements abstract com. Doc from com. Creates a mutable copy of this builder.
| |
| fillDefaults | back to summary |
|---|---|
| private _Private_IonBinaryWriterBuilder fillDefaults() Fills all properties and returns an immutable builder. | |
| fillLegacyDefaults | back to summary |
|---|---|
| private _Private_IonBinaryWriterBuilder fillLegacyDefaults() Fills all properties and returns an immutable builder. | |
| getInitialSymbolTable | back to summary |
|---|---|
| public SymbolTable getInitialSymbolTable() Implements abstract com. Doc from com. Gets the symbol table to use for encoded data.
To avoid conflicts between different data streams, if the given instance
is mutable, it will be copied when
| |
| getSymtabValueFactory | back to summary |
|---|---|
| public ValueFactory getSymtabValueFactory() | |
| immutable | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder immutable() Implements abstract com. Doc from com. Returns an immutable builder configured exactly like this one.
| |
| mutable | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder mutable() Implements abstract com. Doc from com. Returns a mutable builder configured exactly like this one.
| |
| setAutoFlushEnabled | back to summary |
|---|---|
| public void setAutoFlushEnabled(boolean autoFlushEnabled) | |
| setBlockSize | back to summary |
|---|---|
| public void setBlockSize(int size) | |
| setCatalog | back to summary |
|---|---|
| public void setCatalog(final IonCatalog catalog) Overrides com. Doc from com. Sets the catalog to use when building an
| |
| setImports | back to summary |
|---|---|
| public void setImports(final SymbolTable... imports) Overrides com. Doc from com. Sets the shared symbol tables that will be used to construct the initial local symbol table.
If the imports sequence is not null and not empty, the output stream
will be bootstrapped with a local symbol table that uses the given
| |
| setInitialSymbolTable | back to summary |
|---|---|
| public void setInitialSymbolTable(SymbolTable symtab) Implements abstract com. Declares the symbol table to use for encoded data.
To avoid conflicts between different data streams, if the given instance
is mutable, it will be copied when
| |
| setIsFloatBinary32Enabled | back to summary |
|---|---|
| public void setIsFloatBinary32Enabled(boolean enabled) Implements abstract com. Doc from com. Enables or disables writing Binary32 (4-byte, single precision, IEEE-754) values for floats when there would be no loss in precision. By default Binary32 support is disabled to ensure the broadest compatibility with existing Ion implementations. Historically, implementations were only able to read Binary64 values. When enabled, floats are evaluated for a possible loss of data at single precision. If the value can be represented in single precision without data loss, it is written as a 4-byte, Binary32 value. Floats which cannot be represented as single-precision values are written as 8-byte, Binary64 values (this is the legacy behavior for all floats, regardless of value).
| |
| setLocalSymbolTableAppendEnabled | back to summary |
|---|---|
| public void setLocalSymbolTableAppendEnabled(boolean enabled) Implements abstract com. Doc from com. Enables or disables writing local symbol tables that append symbols to the current symbol table. This functionality is disabled by default.
| |
| setStreamCopyOptimized | back to summary |
|---|---|
| public void setStreamCopyOptimized(final boolean optimized) Overrides com. Doc from com. Declares whether built writers may attempt to optimize
This feature is experimental! Please test thoroughly and report any issues.
| |
| setSymtabValueFactory | back to summary |
|---|---|
| public void setSymtabValueFactory(ValueFactory factory) | |
| standard | back to summary |
|---|---|
| public static _Private_IonBinaryWriterBuilder standard() Hides com. Doc from com. The standard builder of binary writers, with all configuration properties having their default values.
| |
| withAutoFlushEnabled | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withAutoFlushEnabled(boolean autoFlushEnabled) Implements abstract com. Doc from com. Auto-flush enables automatic execution of flush operations during the write process. When auto-flush is enabled and a new block allocation becomes necessary while writing the top-level value, a new block will be allocated.
The data writing process will then continue uninterrupted until the top-level value is complete. After completing the top-level value that crosses the block boundary, the flush operation will be executed.
This feature optimizes performance of the writing of long data streams by reducing block allocations.
Additionally, setting a larger block size can further tune performance when auto-flush is enabled.
A larger block size leads to fewer block allocations and reduces the frequency of flush operations when auto-flush is enabled.
| |
| withBlockSize | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withBlockSize(int size) Implements abstract com. Doc from com. Specify the block size for write buffer.
| |
| withFloatBinary32Disabled | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withFloatBinary32Disabled() Implements abstract com. Doc from com. Disables writing Binary32 (4-byte, single precision, IEEE-754) values for floats. This is the default behavior. When disabled, floats are always written as 8-byte, Binary64 values regardless of value. This is the legacy behavior for all Ion binary writers and ensures the boarded compatibility with other Ion consumers.
| |
| withFloatBinary32Enabled | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withFloatBinary32Enabled() Implements abstract com. Doc from com. Enables writing Binary32 (4-byte, single precision, IEEE-754) values for floats when there would be no loss in precision. By default Binary32 support is disabled to ensure the broadest compatibility with existing Ion implementations. Historically, implementations were only able to read Binary64 values. When enabled, floats are evaluated for a possible loss of data at single precision. If the value can be represented in single precision without data loss, it is written as a 4-byte, Binary32 value. Floats which cannot be represented as single-precision values are written as 8-byte, Binary64 values (this is the legacy behavior for all floats, regardless of value).
| |
| withInitialSymbolTable | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withInitialSymbolTable(SymbolTable symtab) Implements abstract com. Defaults to $ion_1_0 if null.
| |
| withLocalSymbolTableAppendDisabled | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withLocalSymbolTableAppendDisabled() Implements abstract com. Doc from com. Disables writing local symbol tables that append symbols to the current symbol table. This functionality is disabled by default.
| |
| withLocalSymbolTableAppendEnabled | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withLocalSymbolTableAppendEnabled() Implements abstract com. Doc from com. Enables writing local symbol tables that append symbols to the current symbol table. This functionality is disabled by default.
| |
| withSymtabValueFactory | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder withSymtabValueFactory(ValueFactory factory) | |
| Access | Constructor and Description |
|---|---|
| private | |
| private |
| Modifier and Type | Method and Description |
|---|---|
| public _Private_IonBinaryWriterBuilder | immutable()
Overrides com. Returns an immutable builder configured exactly like this one. |
| public _Private_IonBinaryWriterBuilder | mutable()
Overrides com. Returns a mutable builder configured exactly like this one. |
| protected void | mutationCheck()
Overrides com. NOT FOR APPLICATION USE! |
| Mutable | back to summary |
|---|---|
| private Mutable() | |
| Mutable | back to summary |
|---|---|
| private Mutable(_Private_IonBinaryWriterBuilder that) | |
| immutable | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder immutable() Overrides com. Doc from com. Returns an immutable builder configured exactly like this one.
| |
| mutable | back to summary |
|---|---|
| public _Private_IonBinaryWriterBuilder mutable() Overrides com. Doc from com. Returns a mutable builder configured exactly like this one.
| |
| mutationCheck | back to summary |
|---|---|
| protected void mutationCheck() Overrides com. Doc from com. NOT FOR APPLICATION USE!
| |