Package org.firebirdsql.gds.ng.wire

## Interface FbWireDatabase

- All Superinterfaces:
    `java.lang.AutoCloseable`, `ExceptionListenable`, `FbAttachment`, `FbDatabase`, `FbWireAttachment`
  All Known Implementing Classes:
    `AbstractFbWireDatabase`, `V10Database`, `V11Database`, `V12Database`, `V13Database`, `V15Database`, `V16Database`

      public interface FbWireDatabase
      extends FbDatabase, FbWireAttachment

  Since:
    3.0
  Author:
    Mark Rotteveel

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from interface org.firebirdsql.gds.ng.wire.FbWireAttachment

      `FbWireAttachment.AcceptPacket`

  - ### Method Summary

    All Methods Instance Methods Abstract Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `consumePackets​(int numberOfResponses, WarningMessageCallback warningCallback)` | Consumes packets notifying for warnings, but ignoring exceptions thrown from the packet.
    `void` | `enqueueDeferredAction​(DeferredAction deferredAction)` | Enqueue a deferred action.
    `BlrCalculator` | `getBlrCalculator()` |
    `Response` | `readResponse​(WarningMessageCallback callback)` | Reads the response from the server.
    `SqlResponse` | `readSqlResponse​(WarningMessageCallback callback)` | Convenience method to read a Response to a SqlResponse
    `void` | `releaseObject​(int operation, int objectId)` | Release object.

    - ### Methods inherited from interface org.firebirdsql.gds.ng.listeners.ExceptionListenable

      `addExceptionListener, removeExceptionListener`

    - ### Methods inherited from interface org.firebirdsql.gds.ng.FbAttachment

      `attach, close, forceClose, getDatatypeCoder, getEncoding, getEncodingFactory, getNetworkTimeout, getServerVersion, getSynchronizationObject, isAttached, setNetworkTimeout`

    - ### Methods inherited from interface org.firebirdsql.gds.ng.FbDatabase

      `addDatabaseListener, addWeakDatabaseListener, cancelEvent, cancelOperation, countEvents, createBlobForInput, createBlobForOutput, createBlobParameterBuffer, createDatabase, createEventHandle, createStatement, createTransactionParameterBuffer, dropDatabase, emptyRowDescriptor, executeImmediate, getConnectionDialect, getConnectionProperties, getDatabaseDialect, getDatabaseInfo, getDatabaseInfo, getHandle, getOdsMajor, getOdsMinor, queueEvent, reconnectTransaction, removeDatabaseListener, startTransaction`

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

      `authReceiveResponse, getXdrStreamAccess, readGenericResponse`

- - ### Method Detail

    - #### readResponse

          Response readResponse​(WarningMessageCallback callback)
                         throws java.sql.SQLException,
                                java.io.IOException

      Reads the response from the server.
      Parameters:
        `callback` - Callback object for warnings, `null` for default callback
      Returns:
        `Response` read.
      Throws:
        `java.sql.SQLException` - For errors returned from the server, or when attempting to read
        `java.io.IOException` - For errors reading the response from the connection.

    - #### releaseObject

          void releaseObject​(int operation,
                             int objectId)
                      throws java.sql.SQLException

      Release object.
      Parameters:
        `operation` - Operation
        `objectId` - Id of the object to release
      Throws:
        `java.sql.SQLException`

    - #### readSqlResponse

          SqlResponse readSqlResponse​(WarningMessageCallback callback)
                               throws java.sql.SQLException,
                                      java.io.IOException

      Convenience method to read a Response to a SqlResponse
      Parameters:
        `callback` - Callback object for warnings, `null` for default callback
      Returns:
        SqlResponse
      Throws:
        `java.sql.SQLException` - For errors returned from the server, or when attempting to read.
        `java.io.IOException` - For errors reading the response from the connection.

    - #### getBlrCalculator

          BlrCalculator getBlrCalculator()

      Returns:
        The `BlrCalculator` instance for this database.

    - #### enqueueDeferredAction

          void enqueueDeferredAction​(DeferredAction deferredAction)

      Enqueue a deferred action.

      FbDatabase implementations that do not support deferred actions are allowed to throw an `UnsupportedOperationException`

      Parameters:
        `deferredAction` - Deferred action

    - #### consumePackets

          void consumePackets​(int numberOfResponses,
                              WarningMessageCallback warningCallback)

      Consumes packets notifying for warnings, but ignoring exceptions thrown from the packet.

      This method should only be used inside the implementation if either packets need to be ignored, or to ensure that there is no backlog of packets (eg when an exception occurs during processing of multiple package responses).

      Parameters:
        `numberOfResponses` - Number of responses to consume.
        `warningCallback` - Callback for warnings