|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.postgresql.largeobject.LargeObject
public class LargeObject
This class provides the basic methods required to run the interface, plus a pair of methods that provide InputStream and OutputStream classes for this object.
Normally, client code would use the getAsciiStream, getBinaryStream, or getUnicodeStream methods in ResultSet, or setAsciiStream, setBinaryStream, or setUnicodeStream methods in PreparedStatement to access Large Objects.
However, sometimes lower level access to Large Objects are required, that are not supported by the JDBC specification.
Refer to org.postgresql.largeobject.LargeObjectManager on how to gain access to a Large Object, or how to create one.
LargeObjectManager
,
ResultSet.getAsciiStream(int)
,
ResultSet.getBinaryStream(int)
,
ResultSet.getUnicodeStream(int)
,
PreparedStatement.setAsciiStream(int, java.io.InputStream, int)
,
PreparedStatement.setBinaryStream(int, java.io.InputStream, int)
,
PreparedStatement.setUnicodeStream(int, java.io.InputStream, int)
Field Summary | |
---|---|
static int |
SEEK_CUR
Indicates a seek from the current position |
static int |
SEEK_END
Indicates a seek from the end of a file |
static int |
SEEK_SET
Indicates a seek from the begining of a file |
Constructor Summary | |
---|---|
protected |
LargeObject(Fastpath fp,
long oid,
int mode)
This opens a large object. |
Method Summary | |
---|---|
void |
close()
This method closes the object. |
LargeObject |
copy()
|
InputStream |
getInputStream()
Returns an InputStream from this object. |
long |
getLongOID()
|
int |
getOID()
Deprecated. As of 8.3, replaced by getLongOID() |
OutputStream |
getOutputStream()
Returns an OutputStream to this object. |
int |
read(byte[] buf,
int off,
int len)
Reads some data from the object into an existing array |
byte[] |
read(int len)
Reads some data from the object, and return as a byte[] array |
void |
seek(int pos)
Sets the current position within the object. |
void |
seek(int pos,
int ref)
Sets the current position within the object. |
int |
size()
This method is inefficient, as the only way to find out the size of the object is to seek to the end, record the current position, then return to the original position. |
int |
tell()
|
void |
truncate(int len)
Truncates the large object to the given length in bytes. |
void |
write(byte[] buf)
Writes an array to the object |
void |
write(byte[] buf,
int off,
int len)
Writes some data from an array to the object |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int SEEK_SET
public static final int SEEK_CUR
public static final int SEEK_END
Constructor Detail |
---|
protected LargeObject(Fastpath fp, long oid, int mode) throws SQLException
If the object does not exist, then an SQLException is thrown.
fp
- FastPath API for the connection to useoid
- of the Large Object to openmode
- Mode of opening the large object
(defined in LargeObjectManager)
SQLException
- if a database-access error occurs.LargeObjectManager
Method Detail |
---|
public LargeObject copy() throws SQLException
SQLException
public int getOID()
getLongOID()
public long getLongOID()
public void close() throws SQLException
SQLException
- if a database-access error occurs.public byte[] read(int len) throws SQLException
len
- number of bytes to read
SQLException
- if a database-access error occurs.public int read(byte[] buf, int off, int len) throws SQLException
buf
- destination arrayoff
- offset within arraylen
- number of bytes to read
SQLException
- if a database-access error occurs.public void write(byte[] buf) throws SQLException
buf
- array to write
SQLException
- if a database-access error occurs.public void write(byte[] buf, int off, int len) throws SQLException
buf
- destination arrayoff
- offset within arraylen
- number of bytes to write
SQLException
- if a database-access error occurs.public void seek(int pos, int ref) throws SQLException
This is similar to the fseek() call in the standard C library. It allows you to have random access to the large object.
pos
- position within objectref
- Either SEEK_SET, SEEK_CUR or SEEK_END
SQLException
- if a database-access error occurs.public void seek(int pos) throws SQLException
This is similar to the fseek() call in the standard C library. It allows you to have random access to the large object.
pos
- position within object from begining
SQLException
- if a database-access error occurs.public int tell() throws SQLException
SQLException
- if a database-access error occurs.public int size() throws SQLException
A better method will be found in the future.
SQLException
- if a database-access error occurs.public void truncate(int len) throws SQLException
SQLException
public InputStream getInputStream() throws SQLException
This InputStream can then be used in any method that requires an InputStream.
SQLException
- if a database-access error occurs.public OutputStream getOutputStream() throws SQLException
This OutputStream can then be used in any method that requires an OutputStream.
SQLException
- if a database-access error occurs.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |