# Package org.firebirdsql.gds

TODO: To be rewritten

This package contains classes defining Firebird API for Java language that applications can use to access databases directly without JDBC interfaces. This is probably most efficient way to access the database, however also it is the most complicated one and requires deep knowledge of the Firebird API. For better understanding please refer to the "InterBase 6 API Guide" published by Borland and released together with the open-sourcing the InterBase code, a predecessor of Firebird.

Please refer to the documentation in the javadoc comments as well as to the source code for more information.

- Interface Summary
  Interface | Description
  --- | ---
  BlobParameterBuffer | Instance of this interface represents a BLOB Parameter Buffer from the Firebird API documentation and specifies attributes for `FbDatabase.createBlobForOutput(org.firebirdsql.gds.ng.FbTransaction, BlobParameterBuffer)` or `FbDatabase.createBlobForInput(org.firebirdsql.gds.ng.FbTransaction, BlobParameterBuffer, long)` operations.
  BlrConstants | Constants for the blr.
  ConnectionParameterBuffer |
  DatabaseParameterBuffer | Instance of this interface represents a Database Parameter Buffer from the Firebird API documentation and specifies the attributes for the current connection.
  EventHandle | Handle to internal event-handling structures.
  EventHandler | A callback handler interface for event handling.
  ISCConstants | Constants for Firebird features, parameter blocks and errors.
  JaybirdErrorCodes | Constants for Jaybird specific error codes.
  Parameter | Interface for parameters stored in a `ParameterBuffer`.
  ParameterBuffer | Instance of this interface represents a Parameter Buffer it is extended by various parameter buffer interfaces.
  ServiceParameterBuffer | Instance of this interface represents a Service Parameter Buffer from the Firebird API documentation and specifies the attributes for the Services API connection.
  ServiceRequestBuffer | Instance of this interface represents a Service Request Buffer from the Firebird API documentation and specifies the attributes for the Services API operation.
  TransactionParameterBuffer | Instances of this interface represent Transaction Parameter Buffer from the Firebird API.

- Class Summary
  Class | Description
  --- | ---
  ClumpletReader | Reader for clumplets, similar to the implementation `ClumpletReader.cpp`.
  GDSExceptionHelper | This class returns messages for the specified error code.
  GDSExceptionHelper.GDSMessage | This class wraps message template obtained from isc_error_msg.properties file and allows to set parameters to the message.
  JaybirdSystemProperties | Class to access Jaybird-specific system properties from a single place.
  ParameterBufferHelper | This class maps the extended JDBC properties to parameter buffer types (for transaction and database parameter buffers).
  ParameterBufferHelper.DpbParameterType | Dpb type, which is the name, the key for the dpb and its value type.
  VaxEncoding | Helper methods for decoding Vax style (little endian) integers as used by Firebird from byte arrays.

- Enum Summary
  Enum | Description
  --- | ---
  ClumpletReader.ClumpletType |
  ClumpletReader.Kind |
  ParameterBufferHelper.DpbValueType | Enum with the various Dpb value types, and conversion from String to that type.
  ParameterTagMapping | Mapping of connection parameter buffer item tags.

- Exception Summary
  Exception | Description
  --- | ---
  GDSException | A GDS-specific exception