|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectjava.io.InputStream
org.apache.derby.client.am.BlobLocatorInputStream
public class BlobLocatorInputStream
An InputStream
that will use an locator to fetch the
Blob value from the server.
Closing a ByteArrayInputStream
has no effect. The methods in
this class can be called after the stream has been closed without
generating an IOException
.
This InputStream
implementation is pretty basic. No
buffering of data is done. Hence, for efficieny #read(byte[])
should be used instead of #read(). Marks are not supported, but it
should be pretty simple to extend the implementation to support
this. A more efficient skip implementation should also be
straight-forward.
Field Summary | |
---|---|
private Blob |
blob
The Blob to be accessed. |
private Connection |
connection
Connection used to read Blob from server. |
private long |
currentPos
Current position in the underlying Blob. |
private long |
maxPos
Position in Blob where to stop reading. |
Constructor Summary | |
---|---|
BlobLocatorInputStream(Connection connection,
Blob blob)
Create an InputStream for reading the
Blob value represented by the given locator based
Blob object. |
|
BlobLocatorInputStream(Connection connection,
Blob blob,
long position,
long length)
Create an InputStream for reading the
Blob value represented by the given locator based
Blob object. |
Method Summary | |
---|---|
int |
read()
|
int |
read(byte[] b,
int off,
int len)
|
private byte[] |
readBytes(int len)
Read the next len bytes of the Blob
value from the server. |
Methods inherited from class java.io.InputStream |
---|
available, close, mark, markSupported, read, reset, skip |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
private final Connection connection
private final Blob blob
private long currentPos
private final long maxPos
Constructor Detail |
---|
public BlobLocatorInputStream(Connection connection, Blob blob) throws SqlException
InputStream
for reading the
Blob
value represented by the given locator based
Blob
object.
connection
- connection to be used to read the
Blob
value from the serverblob
- Blob
object that contains locator for
the Blob
value on the server.
SqlException
- if an error occurs when obtaining the
length of the Blob
.public BlobLocatorInputStream(Connection connection, Blob blob, long position, long length) throws SqlException
InputStream
for reading the
Blob
value represented by the given locator based
Blob
object.
connection
- connection to be used to read the
Blob
value from the serverblob
- Blob
object that contains locator for
the Blob
value on the server.position
- the position in the Blob
of the first
byte to read.length
- the maximum number of bytes to read from
the Blob
.
SqlException
- if an error occurs when obtaining the
length of the Blob
.Method Detail |
---|
public int read() throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
This method fetches one byte at a time from the server. For more
efficient retrieval, use #read(byte[]).
public int read(byte[] b, int off, int len) throws java.io.IOException
read
in class java.io.InputStream
java.io.IOException
InputStream.read(byte[], int, int)
private byte[] readBytes(int len) throws java.io.IOException
len
bytes of the Blob
value from the server.
len
- number of bytes to read
byte[]
containing the read bytes
java.io.IOException
- Wrapped SqlException if reading
from server fails.
|
Built on Thu 2011-03-10 11:54:14+0000, from revision ??? | ||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |