Class V10OutputBlob
- java.lang.Object
-
- org.firebirdsql.gds.ng.AbstractFbBlob
-
- org.firebirdsql.gds.ng.wire.AbstractFbWireBlob
-
- org.firebirdsql.gds.ng.wire.AbstractFbWireOutputBlob
-
- org.firebirdsql.gds.ng.wire.version10.V10OutputBlob
-
- All Implemented Interfaces:
java.lang.AutoCloseable
,FbBlob
,DatabaseListener
,ExceptionListenable
,TransactionListener
,FbWireBlob
public class V10OutputBlob extends AbstractFbWireOutputBlob implements FbWireBlob, DatabaseListener
- 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 Constructor Description V10OutputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
open()
Opens an existing input blob, or creates an output blob.void
putSegment(byte[] segment)
Writes a segment of blob data.-
Methods inherited from class org.firebirdsql.gds.ng.wire.AbstractFbWireOutputBlob
getBlobId, getSegment, isOutput, seek, setBlobId
-
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.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, getBlobId, getBlobInfo, getBlobInfo, getDatabase, getHandle, getMaximumSegmentSize, getSegment, isEof, isOpen, isOutput, length, seek
-
-
-
-
Constructor Detail
-
V10OutputBlob
public V10OutputBlob(FbWireDatabase database, FbWireTransaction transaction, BlobParameterBuffer blobParameterBuffer)
-
-
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.
-
putSegment
public 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
.- Specified by:
putSegment
in interfaceFbBlob
- 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.
-
-