Class BlobImpl
- All Implemented Interfaces:
Blob
The representation (mapping) in the Java programming language of an SQL BLOB value. An SQL
BLOB is a built-in type that stores a Binary Large Object as a
column value in a row of a database table. The driver implements
Blob using an SQL locator(BLOB), which means
that a Blob object contains a logical pointer to the SQL
BLOB data rather than the data itself. A Blob
object is valid for the duration of the transaction in which is was created.
Methods in the interfaces ResultSet,
CallableStatement, and PreparedStatement,
such as getBlob and setBlob allow a programmer
to access an SQL BLOB value. The Blob interface
provides methods for getting the length of an SQL BLOB (Binary
Large Object) value, for materializing a BLOB value on the
client, and for determining the position of a pattern of bytes within a
BLOB value.
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate byte[](package private) booleanWhether we have already freed resources.private intprivate InputStream -
Constructor Summary
ConstructorsConstructorDescriptionBlobImpl(byte[] bytes) Constructor taking a byte array.BlobImpl(InputStream stream) Constructor taking an InputStream.Constructor taking a serialised object. -
Method Summary
Modifier and TypeMethodDescriptionvoidfree()Free the Blob object and releases the resources that it holds.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 pos, int length) Accessor for the Object.longlength()longposition(byte[] pattern, long start) longsetBinaryStream(long value) intsetBytes(long value, byte[] bytes) intsetBytes(long value, byte[] bytes, int pos, int length) voidtruncate(long value)
-
Field Details
-
stream
-
length
private int length -
bytes
private byte[] bytes -
freed
boolean freedWhether we have already freed resources.
-
-
Constructor Details
-
BlobImpl
Constructor taking a serialised object.- Parameters:
obj- The serialised object.- Throws:
IOException- if an error occurs
-
BlobImpl
public BlobImpl(byte[] bytes) Constructor taking a byte array.- Parameters:
bytes- The byte array
-
BlobImpl
Constructor taking an InputStream.- Parameters:
stream- The InputStream
-
-
Method Details
-
getObject
Accessor for the Object.- Returns:
- The object.
- Throws:
SQLException- if an error occurs
-
length
- Specified by:
lengthin interfaceBlob- Throws:
SQLException
-
getBytes
- Specified by:
getBytesin interfaceBlob- Throws:
SQLException
-
setBytes
- Specified by:
setBytesin interfaceBlob- Throws:
SQLException
-
truncate
- Specified by:
truncatein interfaceBlob- Throws:
SQLException
-
setBytes
- Specified by:
setBytesin interfaceBlob- Throws:
SQLException
-
getBinaryStream
- Specified by:
getBinaryStreamin interfaceBlob- Throws:
SQLException
-
getBinaryStream
Returns an InputStream object that contains a partial Blob value, starting with the byte specified by pos, which is length bytes in length.- Specified by:
getBinaryStreamin interfaceBlob- Parameters:
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 retrieved- Throws:
SQLException
-
setBinaryStream
- Specified by:
setBinaryStreamin interfaceBlob- Throws:
SQLException
-
free
Free the Blob object and releases the resources that it holds. The object is invalid once the free method is called.- Specified by:
freein interfaceBlob- Throws:
SQLException- if an error occurs
-
position
- Specified by:
positionin interfaceBlob- Throws:
SQLException
-
position
- Specified by:
positionin interfaceBlob- Throws:
SQLException
-