@InternalApi

# Package org.firebirdsql.gds.ng

The Jaybird GDS-ng API provides the abstraction for connecting to Firebird either through a wire protocol implementation, a native firebird client or other means.

See: Description

Interface Summary
AbstractAttachProperties.PropertyUpdateListener: Property update listener.
BlobConfig: Firebird configuration for a blob.
DatatypeCoder: Interface defining the encoding and decoding for Firebird (numerical) data types.
DeferredResponse<T>: Interface for receiving deferred/async responses.
FbAttachment: Connection to a Firebird server (to a database or service).
FbBatchConfig: Configuration for a Firebird 4+ batch.
FbBlob: Interface for blob operations.
FbDatabase: Connection handle to a database.
FbDatabaseFactory: Factory for `FbDatabase` instances.
FbService: Connection handle to a service.
FbStatement: API for statement handles.
FbTransaction: Handle for a transaction.
IAttachProperties<T extends IAttachProperties<T>>: Common properties for database and service attach.
IConnectionProperties: Connection properties for the Firebird connection.
InfoProcessor<T>: Functional interface to process an information buffer (responses to p_info_* requests) returning an object of type T.
InfoProcessor.StatementInfo: Interface for information on a statement.
IServiceProperties: Connection properties for a Firebird service attachment.
LockCloseable: Unlocks the lock on `LockCloseable.close()`, intended for use with try-with-resources.
OperationCloseHandle: Close handle for `Operation` implementations.
ParameterConverter<D extends AbstractConnection<IConnectionProperties,?>,S extends AbstractConnection<IServiceProperties,?>>: Provides conversion of parameters (e.g.
WarningMessageCallback: Callback interface for passing warnings.

Class Summary
AbstractAttachProperties<T extends IAttachProperties<T>>: Abstract mutable implementation of `IAttachProperties`.
AbstractConnection<T extends IAttachProperties<T>,C extends FbAttachment>: Abstract class with common logic for connections.
AbstractEventHandle: Abstract implementation for event handle.
AbstractFbAttachment<T extends AbstractConnection<? extends IAttachProperties<?>,? extends FbAttachment>>: Common behavior for `AbstractFbService` and `AbstractFbDatabase`.
AbstractFbBlob
AbstractFbDatabase<T extends AbstractConnection<IConnectionProperties,? extends FbDatabase>>: Abstract implementation of `FbDatabase` with behavior common to the various implementations.
AbstractFbService<T extends AbstractConnection<IServiceProperties,? extends FbService>>: Abstract service implementation.
AbstractFbStatement
AbstractFbTransaction
AbstractImmutableAttachProperties<T extends IAttachProperties<T>>: Abstract immutable implementation of `IAttachProperties`.
AbstractParameterConverter<D extends AbstractConnection<IConnectionProperties,?>,S extends AbstractConnection<IServiceProperties,?>>: Abstract class for behavior common to `ParameterConverter` implementations.
BatchCompletion: Completion data from a batch execute.
BatchCompletion.DetailedError
BlobLengthProcessor: Blob information processor for retrieving blob length.
DatatypeCoder.RawDateTimeStruct: Deprecated use a `java.time` type; will be removed in Jaybird 6
DefaultDatatypeCoder: The default datatype coder.
EncodingSpecificDatatypeCoder: Datatype coder wrapping another datatype coder and applying a specific encoding definition, while delegating other methods to the wrapped datatype coder.
ExecutionPlanProcessor: InfoProcessor to retrieve the (normal) execution plan of a statement.
FbBatchConfig.Immutable: Class to provide an immutable copy of a batch config.
FbConnectionProperties: Mutable implementation of `IConnectionProperties`
FbExceptionBuilder: Builder for exceptions received from Firebird.
FbImmutableConnectionProperties: Immutable implementation of `IConnectionProperties`.
FbImmutableServiceProperties: Immutable implementation of `IServiceProperties`.
FbServiceProperties: Mutable implementation of `IServiceProperties`.
OperationMonitor: The statement operation monitor allows monitoring of statement execution and fetching of all statements.
SqlCountHolder: Class for holding the SQL counts (update, delete, select, insert) for a statement execution.
SqlCountProcessor: Info processor for retrieving affected record count.
StatementInfoProcessor: InfoProcessor to retrieve the statement information associated with `AbstractFbStatement.getStatementInfoRequestItems()` and `AbstractFbStatement.getParameterDescriptionInfoRequestItems()`.
TransactionHelper: Class with static helper methods for use with transactions

Enum Summary
AbstractFbBlob.BlobState: State of the blob.
CursorFlag: Cursor flags.
FbBlob.SeekMode: Seek mode for `FbBlob.seek(int, org.firebirdsql.gds.ng.FbBlob.SeekMode)`.
FetchDirection: Direction of fetch.
FetchType: Type of fetch.
StatementState: Statement states for `FbStatement` implementations
StatementType: Firebird statement types.
TransactionState: Transactions states.
WireCrypt

Exception Summary
InfoTruncatedException: Thrown to indicate that an info request buffer was truncated (`isc_info_truncated`).

## Package org.firebirdsql.gds.ng Description

The Jaybird GDS-ng API provides the abstraction for connecting to Firebird either through a wire protocol implementation, a native firebird client or other means. These classes are used by the JDBC implementation of Jaybird. The classes in this package (and its subpackages) can be used directly but the stability of the interface is not guaranteed (not even between point releases). We strongly advise to use the JDBC implementation.

The classes and interfaces provided by this package can be used to add additional protocol implementations, but given the expected volatility of the interface (see above) we urge you to use caution.

The ng stands for Next Generation, as this is the second incarnation, replacing the original GDS API introduced in Jaybird 1.0 (removed in Jaybird 3.0).

Since:
  3