public class AS400JDBCBlobLocator
extends java.lang.Object
implements java.sql.Blob
Modifier and Type | Method and Description |
---|---|
void |
free()
This method frees the
Blob object and releases the
resources that it holds. |
java.io.InputStream |
getBinaryStream()
Returns the entire BLOB as a stream of uninterpreted bytes.
|
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. |
byte[] |
getBytes(long position,
int length)
Returns part of the contents of the BLOB.
|
int |
getHandle()
Returns the handle to this BLOB locator in the database.
|
int |
getLocator()
Get the locator handle corresponding to this ClobLocator
|
long |
length()
Returns the length of the BLOB.
|
long |
position(java.sql.Blob pattern,
long position)
Returns the position at which a pattern is found in the BLOB.
|
long |
position(byte[] pattern,
long position)
Returns the position at which a pattern is found in the BLOB.
|
java.io.OutputStream |
setBinaryStream(long position)
Returns a stream that an application can use to write to this BLOB.
|
int |
setBytes(long position,
byte[] bytesToWrite)
Writes an array of bytes to this BLOB, starting at position position
in the BLOB.
|
int |
setBytes(long position,
byte[] bytesToWrite,
int offset,
int lengthOfWrite)
Writes all or part of the byte array the application passes in to this BLOB,
starting at position position in the BLOB.
|
void |
truncate(long lengthOfBLOB)
Truncates this BLOB to a length of lengthOfBLOB bytes.
|
public java.io.InputStream getBinaryStream() throws java.sql.SQLException
getBinaryStream
in interface java.sql.Blob
java.sql.SQLException
- If an error occurs.public byte[] getBytes(long position, int length) throws java.sql.SQLException
getBytes
in interface java.sql.Blob
position
- The position within the BLOB (1-based).length
- The length to return.java.sql.SQLException
- If the position is not valid,
if the length is not valid,
or an error occurs.public int getHandle() throws java.sql.SQLException
java.sql.SQLException
- If a database error occurs.public long length() throws java.sql.SQLException
length
in interface java.sql.Blob
java.sql.SQLException
- If an error occurs.public long position(byte[] pattern, long position) throws java.sql.SQLException
position
in interface java.sql.Blob
pattern
- The pattern.position
- The position within the BLOB to begin
searching (1-based).java.sql.SQLException
- If the position is not valid or an error occurs.public long position(java.sql.Blob pattern, long position) throws java.sql.SQLException
position
in interface java.sql.Blob
pattern
- The pattern.position
- The position within the BLOB to begin
searching (1-based).java.sql.SQLException
- If the position is not valid or an error occurs.public java.io.OutputStream setBinaryStream(long position) throws java.sql.SQLException
setBinaryStream
in interface java.sql.Blob
position
- The position (1-based) in the BLOB where writes should start.java.sql.SQLException
- If there is an error accessing the BLOB or if the position
specified is greater than the length of the BLOB.public int setBytes(long position, byte[] bytesToWrite) throws java.sql.SQLException
setBytes
in interface java.sql.Blob
position
- The position (1-based) in the BLOB where writes should start.bytesToWrite
- The array of bytes to be written to this BLOB.java.sql.SQLException
- If there is an error accessing the BLOB or if the position
specified is greater than the length of the BLOB.public int setBytes(long position, byte[] bytesToWrite, int offset, int lengthOfWrite) throws java.sql.SQLException
setBytes
in interface java.sql.Blob
position
- The position (1-based) in the BLOB where writes should start.bytesToWrite
- The array of bytes to be written to this BLOB.offset
- The offset into the array at which to start reading bytes (0-based).lengthOfWrite
- The number of bytes to be written to the BLOB from the array of bytes.java.sql.SQLException
- If there is an error accessing the BLOB or if the position
specified is greater than the length of the BLOB.public void truncate(long lengthOfBLOB) throws java.sql.SQLException
truncate
in interface java.sql.Blob
lengthOfBLOB
- The length, in bytes, that this BLOB should be after
truncation.java.sql.SQLException
- If there is an error accessing the BLOB or if the length
specified is greater than the length of the BLOB.public 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. 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 a database error occurs.
if an error occurs releasing the Blob's resourcespublic 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 a database error occurs.
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
public int getLocator()