com.ibm.as400.access
Class AS400JDBCBlob

java.lang.Object
  |
  +--com.ibm.as400.access.AS400JDBCBlob
All Implemented Interfaces:
java.sql.Blob

public class AS400JDBCBlob
extends java.lang.Object
implements java.sql.Blob

The AS400JDBCBlob class provides access to binary large objects. The data is valid only within the current transaction.


Method Summary
 java.io.InputStream getBinaryStream()
          Returns the entire BLOB as a stream of uninterpreted bytes.
 byte[] getBytes(long start, int length)
          Returns part of the contents of the BLOB.
 long length()
          Returns the length of the BLOB.
 long position(java.sql.Blob pattern, long start)
          Returns the position at which a pattern is found in the BLOB.
 long position(byte[] pattern, long start)
          Returns the position at which a pattern is found in the BLOB.
 java.io.OutputStream setBinaryStream(long positionToStartWriting)
          Returns a stream that an application can use to write to this BLOB.
 int setBytes(long positionToStartWriting, byte[] bytesToWrite)
          Writes an array of bytes to this BLOB, starting at position positionToStartWriting in the BLOB.
 int setBytes(long positionToStartWriting, byte[] bytesToWrite, int offset, int lengthOfWrite)
          Writes all or part of the byte array the application passes in to this BLOB, starting at position positionToStartWriting in the BLOB.
 void truncate(long lengthOfBLOB)
          Truncates this BLOB to a length of lengthOfBLOB bytes.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

getBinaryStream

public java.io.InputStream getBinaryStream()
                                    throws java.sql.SQLException
Returns the entire BLOB as a stream of uninterpreted bytes.
Specified by:
getBinaryStream in interface java.sql.Blob
Returns:
The stream.
Throws:
java.sql.SQLException - If an error occurs.

getBytes

public byte[] getBytes(long start,
                       int length)
                throws java.sql.SQLException
Returns part of the contents of the BLOB.
Specified by:
getBytes in interface java.sql.Blob
Parameters:
start - The start position within the BLOB (1-based).
length - The length to return.
Returns:
The contents.
Throws:
java.sql.SQLException - If the start position is not valid, if the length is not valid, or an error occurs.

length

public long length()
            throws java.sql.SQLException
Returns the length of the BLOB.
Specified by:
length in interface java.sql.Blob
Returns:
The length of the BLOB, in bytes.
Throws:
java.sql.SQLException - If an error occurs.

position

public long position(byte[] pattern,
                     long start)
              throws java.sql.SQLException
Returns the position at which a pattern is found in the BLOB.
Specified by:
position in interface java.sql.Blob
Parameters:
pattern - The pattern.
start - The position within the BLOB to begin searching (1-based).
Returns:
The position at which the pattern is found, or -1 if the pattern is not found.
Throws:
java.sql.SQLException - If the pattern is null, the position is not valid, or an error occurs.

position

public long position(java.sql.Blob pattern,
                     long start)
              throws java.sql.SQLException
Returns the position at which a pattern is found in the BLOB.
Specified by:
position in interface java.sql.Blob
Parameters:
pattern - The pattern.
start - The position within the BLOB to begin searching (1-based).
Returns:
The position at which the pattern is found, or -1 if the pattern is not found.
Throws:
java.sql.SQLException - If the pattern is null, the position is not valid, or an error occurs.

setBinaryStream

public java.io.OutputStream setBinaryStream(long positionToStartWriting)
                                     throws java.sql.SQLException
Returns a stream that an application can use to write to this BLOB. The stream begins at position positionToStartWriting, and the BLOB will be truncated after the last byte of the write.
Parameters:
positionToStartWriting - The position (1-based) in the BLOB where writes should start.
Returns:
An OutputStream object to which data can be written by an application.
Throws:
java.sql.SQLException - If there is an error accessing the BLOB or if the position specified is greater than the length of the BLOB.
Since:
Modification 5

setBytes

public int setBytes(long positionToStartWriting,
                    byte[] bytesToWrite)
             throws java.sql.SQLException
Writes an array of bytes to this BLOB, starting at position positionToStartWriting in the BLOB. The BLOB will be truncated after the last byte written.
Parameters:
positionToStartWriting - The position (1-based) in the BLOB where writes should start.
bytesToWrite - The array of bytes to be written to this BLOB.
Returns:
The number of bytes written to the BLOB.
Throws:
java.sql.SQLException - If there is an error accessing the BLOB or if the position specified is greater than the length of the BLOB.
Since:
Modification 5

setBytes

public int setBytes(long positionToStartWriting,
                    byte[] bytesToWrite,
                    int offset,
                    int lengthOfWrite)
             throws java.sql.SQLException
Writes all or part of the byte array the application passes in to this BLOB, starting at position positionToStartWriting in the BLOB. The BLOB will be truncated after the last byte written. The lengthOfWrite bytes written will start from offset in the bytes that were provided by the application.
Parameters:
positionToStartWriting - 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 bytes at which to start reading the bytes (1-based).
length - The number of bytes to be written to the BLOB from the array of bytes.
Returns:
The number of bytes written.
Throws:
java.sql.SQLException - If there is an error accessing the BLOB or if the position specified is greater than the length of the BLOB.
Since:
Modification 5

truncate

public void truncate(long lengthOfBLOB)
              throws java.sql.SQLException
Truncates this BLOB to a length of lengthOfBLOB bytes.
Parameters:
lengthOfBLOB - The length, in bytes, that this BLOB should be after truncation.
Throws:
java.sql.SQLException - If there is an error accessing the BLOB or if the length specified is greater than the length of the BLOB.
Since:
Modification 5