org.firebirdsql.jdbc
Interface FirebirdBlob

All Superinterfaces:
java.sql.Blob
All Known Implementing Classes:
FBBlob, FBCachedBlob

public interface FirebirdBlob
extends java.sql.Blob

Firebird Blob abstraction. This interface defines methods to read and write Blob content.

Author:
Roman Rokytskyy

Nested Class Summary
static interface FirebirdBlob.BlobInputStream
          Blob input stream.
static interface FirebirdBlob.BlobOutputStream
          Blob output stream.
 
Method Summary
 FirebirdBlob detach()
          Detach this blob.
 boolean isSegmented()
          Check if blob is segmented.
 java.io.OutputStream setBinaryStream(long position)
          Retrieves a stream that can be used to write to the Blob value that this object represents.
 
Methods inherited from interface java.sql.Blob
free, getBinaryStream, getBinaryStream, getBytes, length, position, position, setBytes, setBytes, truncate
 

Method Detail

detach

FirebirdBlob detach()
                    throws java.sql.SQLException
Detach this blob. This method creates new instance of the same blob database object that is not under result set control. When result set is closed, all associated resources are also released, including open blob streams. This method creates an new instance of blob object with the same blob ID that can be used even when result set is closed.

Note, detached blob will not remember the stream position of this object. This means that you cannot start reading data from the blob, then detach it, and then continue reading. Reading from detached blob will begin at the blob start.

Returns:
instance of FirebirdBlob that is not under result set control.
Throws:
java.sql.SQLException - if Blob cannot be detached.

isSegmented

boolean isSegmented()
                    throws java.sql.SQLException
Check if blob is segmented. If Blob is segmented, you cannot use FirebirdBlob.BlobInputStream.seek(int) method.

Returns:
true if this blob is segmented, otherwise false
Throws:
java.sql.SQLException

setBinaryStream

java.io.OutputStream setBinaryStream(long position)
                                     throws java.sql.SQLException
Retrieves a stream that can be used to write to the Blob value that this object represents. The stream begins at position position.

This method is directly copied from JDBC 3.0 classes to make it available in JDBC 2.0 environment.

Specified by:
setBinaryStream in interface java.sql.Blob
Parameters:
position - the position in the BLOB value at which to start writing; currently only position 0 is supported.
Returns:
a java.io.OutputStream object to which data can be written
Throws:
java.sql.SQLException - if something went wrong.


Copyright © 2001-2019 Jaybird (Firebird JDBC/JCA) team. All rights reserved.