com.amazon.ion.IonWriter .
This package limits most of its APIs to package-level access, the public API of note is contained within
the com. which builds instances of
com.. See the below section for what Managed means
in this context.
com.amazon.ion.impl.bin.Block API.
There are two factory type APIs to actually get a com.amazon.ion.impl.bin.Block instance:
com.amazon.ion.impl.bin.BlockAllocator which vend blocks of a particular fixed size
and com.amazon.ion.impl.bin.BlockAllocatorProvider which creates com.amazon.ion.impl.bin.BlockAllocator
instances.
The primary reason for this level of indirection is flexibility for the underlying implementations of com.
and com.. These APIs are not required to be thread-safe, whereas
com. is required to be thread-safe.
The APIs for com. and com.
follow the resource pattern (similar in principle to I/O streams), and should be closed when no longer needed
to allow implementation resources to be released or re-used.
com.amazon.ion.impl.bin.IonRawBinaryWriter deals with the low-level encoding considerations of the
Ion format. The com.amazon.ion.impl.bin.WriteBuffer is used closely with this implementation to
deal with the Ion sub-field encodings (e.g. VarInt, VarUInt, and UTF-8).
com.amazon.ion.impl.bin.IonManagedBinaryWriter is layered on top of the com.amazon.ion.impl.bin.IonRawBinaryWriter .
In particular, it intercepts symbol, annotation, field names and handles the mechanics of symbol table management
transparently to the user.
| Modifier and Type | Interface and Description |
|---|---|
| public interface | _Private_IonManagedWriter
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.
|
| public interface | _Private_IonRawWriter
Deprecated
This is a private API subject to change without notice.
An IonWriter with no symbol table management.
|
| Modifier and Type | Class and Description |
|---|---|
| public class | _Private_IonManagedBinaryWriterBuilder
Constructs instances of binary |
| public class | _PrivateIon_HashTrampoline
Deprecated
NOT FOR APPLICATION USE!
|
| pack-priv abstract class | AbstractIonWriter
Common adapter for binary |
| pack-priv abstract class | AbstractSymbolTable
Provides the basic implementation bits for |
| pack-priv abstract class | Block
An abstraction for a block of managed memory. |
| pack-priv abstract class | BlockAllocator
Creates |
| pack-priv abstract class | BlockAllocatorProvider
Constructs |
| pack-priv class | BlockAllocatorProviders
Utility implementations of |
| public class | IntList
A list of integer values that grows as necessary. |
| pack-priv class | IonBinaryWriterAdapter
Deprecated
Adapts arbitrary IonWriter implementations to an IonBinaryWriter instances.
|
| pack-priv class | IonManagedBinaryWriter
References Deprecated
Wraps _Private_IonManagedWriter is deprecated or references (maybe indirectly) at least one deprecated element.
IonRawBinaryWriter with symbol table management.
|
| pack-priv class | IonRawBinaryWriter
References Deprecated
Low-level binary _Private_IonRawWriter is deprecated or references (maybe indirectly) at least one deprecated element.
IonWriter that understands encoding concerns but doesn't operate with any sense of symbol table management.
|
| pack-priv class | PooledBlockAllocatorProvider
A singleton implementation of |
| pack-priv class | Symbols
Utilities for dealing with |
| pack-priv class | WriteBuffer
A facade over |