Class AbstractFbWireInputBlob

All Implemented Interfaces:
AutoCloseable, FbBlob, DatabaseListener, ExceptionListenable, TransactionListener, FbWireBlob
Direct Known Subclasses:
V10InputBlob

public abstract class AbstractFbWireInputBlob extends AbstractFbWireBlob
Since:
3.0
Author:
Mark Rotteveel
  • Constructor Details

  • Method Details

    • getBlobId

      public final long getBlobId()
      Returns:
      The Firebird blob id
    • isOutput

      public final boolean isOutput()
      Returns:
      true if this is an output blob (write only), false if this is an input blob (read only)
    • putSegment

      public final void putSegment(byte[] segment) throws SQLException
      Description copied from interface: FbBlob
      Writes a segment of blob data.

      Implementation must handle segment length exceeding FbBlob.getMaximumSegmentSize() by batching. TODO: reconsider and let caller handle that?

      Passing a section that is length 0 will throw an SQLException.

      Parameters:
      segment - Segment to write
      Throws:
      SQLException - If this is an input blob, the blob is closed, the transaction is not active, the segment is length 0 or longer than the maximum segment size, or a database connection error occurred.