Constructor and Description |
---|
MemoryBlob() |
MemoryBlob(byte[] data)
Constructs a new MemoryBlob instance wrapping the given octet sequence.
|
Modifier and Type | Method and Description |
---|---|
void |
free() |
InputStream |
getBinaryStream()
Retrieves the
BLOB value designated by this Blob instance
as a stream. |
InputStream |
getBinaryStream(long arg0,
long arg1) |
byte[] |
getBytes(long pos,
int length)
Retrieves all or part of the
BLOB value that this Blob
object represents, as an array of bytes. |
long |
length()
Returns the number of bytes in the
BLOB value designated by this
Blob object. |
long |
position(Blob pattern,
long start)
Retrieves the byte position in the
BLOB value designated by this
Blob object at which pattern begins. |
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. |
OutputStream |
setBinaryStream(long pos)
Always throws an exception.
|
int |
setBytes(long pos,
byte[] bytes)
Always throws an exception.
|
int |
setBytes(long pos,
byte[] bytes,
int offset,
int len)
Always throws an exception.
|
void |
truncate(long len)
Truncates the
BLOB value that this Blob object represents
to be len bytes in length. |
public MemoryBlob()
public MemoryBlob(byte[] data)
data
- the octet sequence representing the Blob valueCayenneRuntimeException
- if the argument is nullpublic long length() throws SQLException
BLOB
value designated by this
Blob
object.length
in interface Blob
BLOB
in bytesSQLException
- if there is an error accessing the length of the
BLOB
public byte[] getBytes(long pos, int length) throws SQLException
BLOB
value that this Blob
object represents, as an array of bytes. This byte
array contains up
to length
consecutive bytes starting at position pos
.
The official specification is ambiguous in that it does not precisely indicate the policy to be observed when pos > this.length() - length. One policy would be to retrieve the octets from pos to this.length(). Another would be to throw an exception. This implementation observes the later policy.
getBytes
in interface 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
SQLException
- if there is an error accessing the BLOB
valuepublic InputStream getBinaryStream() throws SQLException
BLOB
value designated by this Blob
instance
as a stream.getBinaryStream
in interface Blob
BLOB
dataSQLException
- if there is an error accessing the BLOB
valuepublic long position(byte[] pattern, long start) throws SQLException
pattern
begins within the BLOB
value that this Blob
object
represents. The search for pattern
begins at position
start
.
position
in interface Blob
pattern
- the byte array for which to searchstart
- the position at which to begin searching; the first position is 1SQLException
- if there is an error accessing the BLOB
public long position(Blob pattern, long start) throws SQLException
BLOB
value designated by this
Blob
object at which pattern
begins. The search begins at
position start
.position
in interface 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 1SQLException
- if there is an error accessing the BLOB
valuepublic int setBytes(long pos, byte[] bytes) throws SQLException
setBytes
in interface Blob
SQLException
public int setBytes(long pos, byte[] bytes, int offset, int len) throws SQLException
setBytes
in interface Blob
SQLException
public OutputStream setBinaryStream(long pos) throws SQLException
setBinaryStream
in interface Blob
SQLException
public void truncate(long len) throws SQLException
BLOB
value that this Blob
object represents
to be len
bytes in length.truncate
in interface Blob
len
- the length, in bytes, to which the BLOB
value that this
Blob
object represents should be truncatedSQLException
- if there is an error accessing the BLOB
valuepublic void free() throws SQLException
free
in interface Blob
SQLException
public InputStream getBinaryStream(long arg0, long arg1) throws SQLException
getBinaryStream
in interface Blob
SQLException
Copyright © 2001–2023 Apache Cayenne. All rights reserved.