org.firebirdsql.gds.ng.wire.version16

## Class Version16Descriptor

- java.lang.Object
- - org.firebirdsql.gds.ng.wire.AbstractProtocolDescriptor
  - - org.firebirdsql.gds.ng.wire.version16.Version16Descriptor

- All Implemented Interfaces:
    ProtocolDescriptor

      public final class Version16Descriptor
      extends AbstractProtocolDescriptor
      implements ProtocolDescriptor

  The `ProtocolDescriptor` for the Firebird version 16 protocol. This version applies to Firebird 4, but also works with newer Firebird versions.
  Since:
    4.0
  Author:
    Mark Rotteveel

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `Version16Descriptor()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `FbWireAsynchronousChannel` | `createAsynchronousChannel(FbWireDatabase database)` Create a disconnected asynchronous channel.
    `BlrCalculator` | `createBlrCalculator(FbWireDatabase database)` Create `BlrCalculator` implementation for this protocol version.
    `FbWireDatabase` | `createDatabase(WireDatabaseConnection connection)` Create `FbWireDatabase` implementation for this protocol.
    `FbWireBlob` | `createInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)` Create an input `FbWireBlob` implementation for this protocol version.
    `FbWireBlob` | `createOutputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer)` Create an output `FbWireBlob` implementation for this protocol version.
    `FbWireService` | `createService(WireServiceConnection connection)` Create `FbWireService` implementation for this protocol.
    `ServiceParameterBuffer` | `createServiceParameterBuffer(WireServiceConnection connection)` Creates a normal `ServiceParameterBuffer`.
    `ServiceRequestBuffer` | `createServiceRequestBuffer(WireServiceConnection connection)`
    `FbWireStatement` | `createStatement(FbWireDatabase database)` Create `FbStatement` implementation for this protocol.
    `FbWireTransaction` | `createTransaction(FbWireDatabase database, int transactionHandle, TransactionState initialState)` Create `FbTransaction` implementation for this protocol.
    `FbWireOperations` | `createWireOperations(WireConnection<?,?> connection, WarningMessageCallback defaultWarningMessageCallback)` Create an `FbWireOperations` implementation for this protocol version.
    `protected ParameterConverter<WireDatabaseConnection,WireServiceConnection>` | `getParameterConverter()`

    - ### Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractProtocolDescriptor

      `createAttachServiceParameterBuffer, createDatabaseParameterBuffer, equals, getArchitecture, getMaximumType, getMinimumType, getVersion, getWeight, hashCode, supportsWireCompression`

    - ### Methods inherited from class java.lang.Object

      `clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait`

    - ### Methods inherited from interface org.firebirdsql.gds.ng.wire.ProtocolDescriptor

      `createAttachServiceParameterBuffer, createDatabaseParameterBuffer, getArchitecture, getMaximumType, getMinimumType, getVersion, getWeight, supportsWireCompression`

- - ### Constructor Detail

    - #### Version16Descriptor

          public Version16Descriptor()

  - ### Method Detail

    - #### createDatabase

          public FbWireDatabase createDatabase(WireDatabaseConnection connection)

      Description copied from interface: `ProtocolDescriptor`
      Create `FbWireDatabase` implementation for this protocol.
      Specified by:
        `createDatabase` in interface `ProtocolDescriptor`
      Parameters:
        `connection` - WireDatabaseConnection to this database
      Returns:
        FbWireDatabase implementation

    - #### createService

          public FbWireService createService(WireServiceConnection connection)

      Description copied from interface: `ProtocolDescriptor`
      Create `FbWireService` implementation for this protocol.
      Specified by:
        `createService` in interface `ProtocolDescriptor`
      Parameters:
        `connection` - WireServiceConnection to this service
      Returns:
        FbWireService implementation

    - #### createServiceParameterBuffer

          public ServiceParameterBuffer createServiceParameterBuffer(WireServiceConnection connection)

      Description copied from interface: `ProtocolDescriptor`
      Creates a normal `ServiceParameterBuffer`.
      Specified by:
        `createServiceParameterBuffer` in interface `ProtocolDescriptor`
      Parameters:
        `connection` - Connection
      Returns:
        ServiceParameterBuffer implementation

    - #### createServiceRequestBuffer

          public ServiceRequestBuffer createServiceRequestBuffer(WireServiceConnection connection)

      Specified by:
        `createServiceRequestBuffer` in interface `ProtocolDescriptor`
      Returns:
        An empty service request buffer

    - #### createTransaction

          public FbWireTransaction createTransaction(FbWireDatabase database,
                                                     int transactionHandle,
                                                     TransactionState initialState)

      Description copied from interface: `ProtocolDescriptor`
      Create `FbTransaction` implementation for this protocol.
      Specified by:
        `createTransaction` in interface `ProtocolDescriptor`
      Parameters:
        `database` - FbWireDatabase of the current database
        `transactionHandle` - Transaction handle
        `initialState` - Initial transaction state (either `TransactionState.ACTIVE` or `TransactionState.PREPARED`).
      Returns:
        FbTransaction implementation

    - #### createStatement

          public FbWireStatement createStatement(FbWireDatabase database)

      Description copied from interface: `ProtocolDescriptor`
      Create `FbStatement` implementation for this protocol.
      Specified by:
        `createStatement` in interface `ProtocolDescriptor`
      Parameters:
        `database` - FbWireDatabase of the current database
      Returns:
        FbStatement implementation

    - #### createBlrCalculator

          public BlrCalculator createBlrCalculator(FbWireDatabase database)

      Description copied from interface: `ProtocolDescriptor`
      Create `BlrCalculator` implementation for this protocol version.
      Specified by:
        `createBlrCalculator` in interface `ProtocolDescriptor`
      Parameters:
        `database` - FbWireDatabase of the current database
      Returns:
        BlrCalculator implementation

    - #### createOutputBlob

          public FbWireBlob createOutputBlob(FbWireDatabase database,
                                             FbWireTransaction transaction,
                                             BlobParameterBuffer blobParameterBuffer)
                                      throws java.sql.SQLException

      Description copied from interface: `ProtocolDescriptor`
      Create an output `FbWireBlob` implementation for this protocol version.
      Specified by:
        `createOutputBlob` in interface `ProtocolDescriptor`
      Parameters:
        `database` - FbWireDatabase of the current database
        `transaction` - FbWireTransaction to associate with the blob
        `blobParameterBuffer` - Blob Parameter Buffer
      Returns:
        FbWireBlob implementation
      Throws:
        `java.sql.SQLException`

    - #### createInputBlob

          public FbWireBlob createInputBlob(FbWireDatabase database,
                                            FbWireTransaction transaction,
                                            BlobParameterBuffer blobParameterBuffer,
                                            long blobId)
                                     throws java.sql.SQLException

      Description copied from interface: `ProtocolDescriptor`
      Create an input `FbWireBlob` implementation for this protocol version.
      Specified by:
        `createInputBlob` in interface `ProtocolDescriptor`
      Parameters:
        `database` - FbWireDatabase of the current database
        `transaction` - FbWireTransaction to associate with the blob
        `blobParameterBuffer` - Blob Parameter Buffer
        `blobId` - Blob Id (must be non-zero for input blob)
      Returns:
        FbWireBlob implementation
      Throws:
        `java.sql.SQLException`

    - #### createAsynchronousChannel

          public FbWireAsynchronousChannel createAsynchronousChannel(FbWireDatabase database)

      Description copied from interface: `ProtocolDescriptor`
      Create a disconnected asynchronous channel.
      Specified by:
        `createAsynchronousChannel` in interface `ProtocolDescriptor`
      Parameters:
        `database` - The parent database handle.
      Returns:
        Asynchronous channel implementation

    - #### getParameterConverter

          protected ParameterConverter<WireDatabaseConnection,WireServiceConnection> getParameterConverter()

      Specified by:
        `getParameterConverter` in class `AbstractProtocolDescriptor`
      Returns:
        `ParameterConverter` for populating the database parameter buffer.

    - #### createWireOperations

          public FbWireOperations createWireOperations(WireConnection<?,?> connection,
                                                       WarningMessageCallback defaultWarningMessageCallback)

      Description copied from interface: `ProtocolDescriptor`
      Create an `FbWireOperations` implementation for this protocol version.
      Specified by:
        `createWireOperations` in interface `ProtocolDescriptor`
      Parameters:
        `connection` - WireConnection instance (non-`null`)
        `defaultWarningMessageCallback` - default warning message callback (non-`null`)
      Returns:
        Wire operations implementation

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.