org.firebirdsql.gds.ng.wire.version11

## Class V11InputBlob

- java.lang.Object
- - org.firebirdsql.gds.ng.AbstractFbBlob
  - - org.firebirdsql.gds.ng.wire.AbstractFbWireBlob
    - - org.firebirdsql.gds.ng.wire.AbstractFbWireInputBlob
      - - org.firebirdsql.gds.ng.wire.version10.V10InputBlob
        - - org.firebirdsql.gds.ng.wire.version11.V11InputBlob

- All Implemented Interfaces:
    java.lang.AutoCloseable, FbBlob, DatabaseListener, ExceptionListenable, TransactionListener, FbWireBlob

      public class V11InputBlob
      extends V10InputBlob

  Input `FbWireBlob` implementation for the version 11 wire protocol.
  Since:
    5.0.7
  Author:
    Mark Rotteveel

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireBlob

      `AbstractFbWireBlob.BlobOpenOperation`

    - ### Nested classes/interfaces inherited from class org.firebirdsql.gds.ng.AbstractFbBlob

      `AbstractFbBlob.BlobState`

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

      `FbBlob.SeekMode`

  - ### Field Summary

    - ### Fields inherited from class org.firebirdsql.gds.ng.AbstractFbBlob

      `exceptionListenerDispatcher`

    - ### Fields inherited from interface org.firebirdsql.gds.ng.FbBlob

      `NO_BLOB_ID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `V11InputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `protected void` | `checkBlobOpen()` Checks if the blob is open.
    `byte[]` | `getBlobInfo(byte[] requestItems, int bufferLength)` Request blob info.
    `void` | `open()` Opens an existing input blob, or creates an output blob.

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

      `get, getSegment, seek, sendGetSegment`

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

      `getBlobId, isOutput, put, putSegment`

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

      `cancelImpl, closeImpl, getDatabase, getHandle, getXdrIn, getXdrOut, processOpenResponse, receiveOpenResponse, releaseBlob, releaseResources, sendOpen, setHandle, wrapDeferredResponse`

    - ### Methods inherited from class org.firebirdsql.gds.ng.AbstractFbBlob

      `addExceptionListener, cancel, checkBlobClosed, checkDatabaseAttached, checkTransactionActive, clearDatabase, clearDeferredException, clearTransaction, close, createBlobLengthProcessor, detached, detaching, errorOccurred, get, get, getBlobInfo, getBlobParameterBuffer, getKnownBlobInfoItems, getMaximumSegmentSize, getState, getTransaction, isEndingTransaction, isEof, isOpen, length, registerDeferredException, removeExceptionListener, resetEof, setEof, setState, throwAndClearDeferredException, transactionStateChanged, transferDeferredExceptionTo, validateBufferLength, warningReceived, withLock`

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

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

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

      `cancel, close, get, get, getBlobId, getBlobInfo, getDatabase, getHandle, getMaximumSegmentSize, isEof, isOpen, isOutput, length, put, putSegment`

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

      `addExceptionListener, removeExceptionListener`

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

      `detached, detaching, warningReceived`

- - ### Constructor Detail

    - #### V11InputBlob

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

      Throws:
        `java.sql.SQLException`

  - ### Method Detail

    - #### open

          public void open()
                    throws java.sql.SQLException

      Description copied from interface: `FbBlob`
      Opens an existing input blob, or creates an output blob.
      Specified by:
        `open` in interface `FbBlob`
      Overrides:
        `open` in class `V10InputBlob`
      Throws:
        `java.sql.SQLException` - If the blob is already open, this is a (closed) output blob and it already has a blobId, the transaction is not active, or a database connection error occurred

    - #### checkBlobOpen

          protected void checkBlobOpen()
                                throws java.sql.SQLException

      Description copied from class: `AbstractFbBlob`
      Checks if the blob is open.

      NOTE: Subclasses may perform additional side effects, like queuing a server-side open for a deferred open blob.

      Overrides:
        `checkBlobOpen` in class `AbstractFbBlob`
      Throws:
        `java.sql.SQLException` - when the blob is closed.

    - #### getBlobInfo

          public byte[] getBlobInfo(byte[] requestItems,
                                    int bufferLength)
                             throws java.sql.SQLException

      Description copied from interface: `FbBlob`
      Request blob info.
      Specified by:
        `getBlobInfo` in interface `FbBlob`
      Overrides:
        `getBlobInfo` in class `AbstractFbWireBlob`
      Parameters:
        `requestItems` - Array of info items to request
        `bufferLength` - Response buffer length to use
      Returns:
        Response buffer
      Throws:
        `java.sql.SQLException`

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