Package 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
`V11InputBlob​(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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.listeners.DatabaseListener

`detached, detaching, warningReceived`

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

`addExceptionListener, removeExceptionListener`

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

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

### 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`