# Package org.apache.calcite.avatica.util

Avatica utilities.

See: Description

Interface Summary
AbstractCursor.Getter: Gets a value from a particular field of the current record of this cursor.
ArrayImpl.Factory: Factory that can create a ResultSet or Array based on a stream of values.
Cursor: Interface to an iteration that is similar to, and can easily support, a JDBC `ResultSet`, but is simpler to implement.
Cursor.Accessor: Accessor of a column value.
Source: Source of data.
StructImpl.Factory: Factory that can create a result set based on a list of values.

Class Summary
AbstractCursor: Base class for implementing a cursor.
AbstractCursor.ArrayAccessor: Accessor that assumes that the underlying value is an ARRAY; corresponds to `Types.ARRAY`.
ArrayFactoryImpl: Implementation of `ArrayImpl.Factory`.
ArrayImpl: Implementation of JDBC `Array`.
ArrayIteratorCursor: Implementation of `Cursor` on top of an `Iterator` that returns an array of `Object` for each row.
Base64: Encodes and decodes to and from Base64 notation.
Base64.InputStream: A `Base64.InputStream` will read data from another `java.io.InputStream`, given in the constructor, and encode/decode to/from Base64 notation on the fly.
Base64.OutputStream: A `Base64.OutputStream` will write data to another `java.io.OutputStream`, given in the constructor, and encode/decode to/from Base64 notation on the fly.
ByteString: Collection of bytes.
DateTimeUtils: Utility functions for datetime types: date, time, timestamp.
DateTimeUtils.PrecisionTime: Helper class for `DateTimeUtils.parsePrecisionDateTimeLiteral(java.lang.String, java.lang.String, java.util.TimeZone)`
FilteredConstants: A class which, at build time, will have build-specific variables substituted into it.
IteratorCursor<E>: Implementation of `Cursor` on top of an `Iterator` that returns a record for each row.
ListIteratorCursor: Implementation of `Cursor` on top of an `Iterator` that returns a `List` for each row.
MapIteratorCursor: Implementation of `Cursor` on top of an `Iterator` that returns a `Map` for each row.
PositionedCursor<T>: Abstract implementation of `Cursor` that caches its current row.
RecordIteratorCursor<E>: Implementation of `Cursor` on top of an `Iterator` that returns a record for each row.
Sources: Utilities for `Source`.
Spacer: Efficiently writes strings of spaces.
Spaces: Utilities for creating strings of spaces.
StructImpl: Implementation of JDBC `Struct`.
Unsafe: Contains methods that call JDK methods that the forbidden APIs checker does not approve of.
UnsynchronizedBuffer: A utility class for reading and writing bytes to byte buffers without synchronization.

Enum Summary
Casing: Policy for converting case of identifiers before storing them.
Quoting: Syntax for quoting identifiers in SQL statements.
TimeUnit: Enumeration of time units used to construct an interval.
TimeUnitRange: A range of time units.

Annotation Types Summary
PackageMarker: This is a dummy annotation that forces javac to produce output for otherwise empty package-info.java.

## Package org.apache.calcite.avatica.util Description

Avatica utilities.