java.sql.Blob
public class JDBCBlobClient
extends java.lang.Object
implements java.sql.Blob
Constructor | Description |
---|---|
JDBCBlobClient(org.hsqldb.SessionInterface session,
org.hsqldb.types.BlobDataID blob) |
Modifier and Type | Method | Description |
---|---|---|
void |
clearUpdates() |
|
void |
free() |
This method frees the
Blob object and releases the resources that
it holds. |
java.io.InputStream |
getBinaryStream() |
Retrieves the
BLOB value designated by this
Blob instance as a stream. |
java.io.InputStream |
getBinaryStream(long pos,
long length) |
Returns an
InputStream object that contains a partial Blob value,
starting with the byte specified by pos, which is length bytes in length. |
org.hsqldb.types.BlobDataID |
getBlob() |
|
byte[] |
getBytes(long pos,
int length) |
Retrieves all or part of the
BLOB value that this
Blob object represents, as an array of bytes. |
boolean |
isClosed() |
|
long |
length() |
Returns the number of bytes in the
BLOB value designated
by this Blob object. |
long |
position(byte[] pattern,
long start) |
Retrieves the byte position at which the specified byte array
pattern begins within the BLOB value that
this Blob object represents. |
long |
position(java.sql.Blob pattern,
long start) |
Retrieves the byte position in the
BLOB value designated
by this Blob object at which pattern begins. |
java.io.OutputStream |
setBinaryStream(long pos) |
Retrieves a stream that can be used to write to the
BLOB
value that this Blob object represents. |
int |
setBytes(long pos,
byte[] bytes) |
Writes the given array of bytes to the
BLOB value that
this Blob object represents, starting at position
pos , and returns the number of bytes written. |
int |
setBytes(long pos,
byte[] bytes,
int offset,
int len) |
Writes all or part of the given
byte array to the
BLOB value that this Blob object represents
and returns the number of bytes written. |
void |
setWritable(JDBCResultSet result,
int index) |
|
void |
truncate(long len) |
Truncates the
BLOB value that this Blob
object represents to be len bytes in length. |
public JDBCBlobClient(org.hsqldb.SessionInterface session, org.hsqldb.types.BlobDataID blob)
public long length() throws java.sql.SQLException
BLOB
value designated
by this Blob
object.length
in interface java.sql.Blob
BLOB
in bytesjava.sql.SQLException
- if there is an error accessing the length of the
BLOB
public byte[] getBytes(long pos, int length) throws java.sql.SQLException
BLOB
value that this
Blob
object represents, as an array of bytes.getBytes
in interface java.sql.Blob
pos
- the ordinal position of the first byte in the
BLOB
value to be extracted; the first byte is at
position 1length
- the number of consecutive bytes to be copiedlength
consecutive
bytes from the BLOB
value designated by this
Blob
object, starting with the byte at position
pos
java.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic java.io.InputStream getBinaryStream() throws java.sql.SQLException
BLOB
value designated by this
Blob
instance as a stream.getBinaryStream
in interface java.sql.Blob
BLOB
datajava.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic long position(byte[] pattern, long start) throws java.sql.SQLException
pattern
begins within the BLOB
value that
this Blob
object represents.position
in interface java.sql.Blob
pattern
- the byte array for which to searchstart
- the position at which to begin searching; the first
position is 1java.sql.SQLException
- if there is an error accessing the
BLOB
public long position(java.sql.Blob pattern, long start) throws java.sql.SQLException
BLOB
value designated
by this Blob
object at which pattern
begins.position
in interface java.sql.Blob
pattern
- the Blob
object designating the
BLOB
value for which to searchstart
- the position in the BLOB
value at which to
begin searching; the first position is 1java.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic int setBytes(long pos, byte[] bytes) throws java.sql.SQLException
BLOB
value that
this Blob
object represents, starting at position
pos
, and returns the number of bytes written.setBytes
in interface java.sql.Blob
pos
- the position in the BLOB
object at which to
start writingbytes
- the array of bytes to be written to the
BLOB
value that this Blob
object
representsjava.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic int setBytes(long pos, byte[] bytes, int offset, int len) throws java.sql.SQLException
byte
array to the
BLOB
value that this Blob
object represents
and returns the number of bytes written.setBytes
in interface java.sql.Blob
pos
- the position in the BLOB
object at which to
start writingbytes
- the array of bytes to be written to this
BLOB
objectoffset
- the offset into the array bytes
at which
to start reading the bytes to be setlen
- the number of bytes to be written to the BLOB
value from the array of bytes bytes
java.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic java.io.OutputStream setBinaryStream(long pos) throws java.sql.SQLException
BLOB
value that this Blob
object represents.setBinaryStream
in interface java.sql.Blob
pos
- the position in the BLOB
value at which to
start writingjava.io.OutputStream
object to which data can
be writtenjava.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic void truncate(long len) throws java.sql.SQLException
BLOB
value that this Blob
object represents to be len
bytes in length.truncate
in interface java.sql.Blob
len
- the length, in bytes, to which the BLOB
value
that this Blob
object represents should be truncatedjava.sql.SQLException
- if there is an error accessing the
BLOB
valuepublic void free() throws java.sql.SQLException
Blob
object and releases the resources that
it holds. The object is invalid once the free
method is called.
After free
has been called, any attempt to invoke a
method other than free
will result in a SQLException
being thrown. If free
is called multiple times, the subsequent
calls to free
are treated as a no-op.
free
in interface java.sql.Blob
java.sql.SQLException
- if an error occurs releasing
the Blob's resourcesSQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic java.io.InputStream getBinaryStream(long pos, long length) throws java.sql.SQLException
InputStream
object that contains a partial Blob
value,
starting with the byte specified by pos, which is length bytes in length.getBinaryStream
in interface java.sql.Blob
pos
- the offset to the first byte of the partial value to be retrieved.
The first byte in the Blob
is at position 1length
- the length in bytes of the partial value to be retrievedInputStream
through which the partial Blob
value can be read.java.sql.SQLException
- if pos is less than 1 or if pos is greater than the number of bytes
in the Blob
or if pos + length is greater than the number of bytes
in the Blob
SQLFeatureNotSupportedException
- if the JDBC driver does not support
this methodpublic boolean isClosed()
public org.hsqldb.types.BlobDataID getBlob()
public void setWritable(JDBCResultSet result, int index)
public void clearUpdates()
Copyright �� 2001 - 2013 HSQL Development Group.