# Package org.firebirdsql.gds.ng

Provides the abstraction for connecting to Firebird either through a wire protocol implementation, a native firebird client or other means.

See: Description

Interface Summary
Interface | Description
--- | ---
DatatypeCoder | Interface defining the encoding and decoding for Firebird (numerical) data types.
FbAttachment | Connection to a Firebird server (to a database or service).
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> | 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.
OperationCloseHandle | Close handle for `Operation` implementations.
ParameterConverter<D extends AbstractConnection<IConnectionProperties,?>,S extends AbstractConnection<IServiceProperties,?>> | Provides conversion of parameters (eg from `IConnectionProperties` to a `DatabaseParameterBuffer`.
WarningMessageCallback | Callback interface for passing warnings.

Class Summary
Class | Description
--- | ---
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.
BlobLengthProcessor | Blob information processor for retrieving blob length.
DatatypeCoder.RawDateTimeStruct | Raw date/time value.
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.
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()`.
SyncObject | Object for synchronization that has an id that might be helpful during debugging.
TransactionHelper | Class with static helper methods for use with transactions

Enum Summary
Enum | Description
--- | ---
FbBlob.SeekMode | Seek mode for `FbBlob.seek(int, org.firebirdsql.gds.ng.FbBlob.SeekMode)`.
StatementState | Statement states for `FbStatement` implementations
StatementType | Firebird statement types.
TransactionState | Transactions states.
WireCrypt |

## Package org.firebirdsql.gds.ng Description

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) for the next few versions. 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.

Since:
  3.0