Package org.firebirdsql.gds.ng.wire
Class AbstractFbWireInputBlob
- java.lang.Object
-
- org.firebirdsql.gds.ng.AbstractFbBlob
-
- org.firebirdsql.gds.ng.wire.AbstractFbWireBlob
-
- org.firebirdsql.gds.ng.wire.AbstractFbWireInputBlob
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,FbBlob
,DatabaseListener
,ExceptionListenable
,TransactionListener
,FbWireBlob
- Direct Known Subclasses:
V10InputBlob
public abstract class AbstractFbWireInputBlob extends AbstractFbWireBlob
- Since:
- 3.0
- Author:
- Mark Rotteveel
-
-
Nested Class Summary
-
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 Modifier Constructor Description protected
AbstractFbWireInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description long
getBlobId()
boolean
isOutput()
void
putSegment(byte[] segment)
Writes a segment of blob data.-
Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireBlob
cancelImpl, closeImpl, getBlobInfo, getDatabase, getHandle, releaseBlob, releaseResources, setHandle
-
Methods inherited from class org.firebirdsql.gds.ng.AbstractFbBlob
addExceptionListener, cancel, checkBlobClosed, checkBlobOpen, checkDatabaseAttached, checkTransactionActive, clearDatabase, clearTransaction, close, createBlobLengthProcessor, detached, detaching, getBlobInfo, getBlobParameterBuffer, getMaximumSegmentSize, getTransaction, isEndingTransaction, isEof, isOpen, length, removeExceptionListener, resetEof, setEof, setOpen, transactionStateChanged, 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.ExceptionListenable
addExceptionListener, removeExceptionListener
-
Methods inherited from interface org.firebirdsql.gds.ng.FbBlob
cancel, close, getBlobInfo, getMaximumSegmentSize, getSegment, isEof, isOpen, length, open, seek
-
-
-
-
Constructor Detail
-
AbstractFbWireInputBlob
protected AbstractFbWireInputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer, long blobId)
-
-
Method Detail
-
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 java.sql.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:
java.sql.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.
-
-