Docjar: A Java Source and Docuemnt Enginecom.*    java.*    javax.*    org.*    all    new    plug-in

Quick Search    Search Deep

postgresql.largeobject
Class LargeObject  view LargeObject download LargeObject.java

java.lang.Object
  extended bypostgresql.largeobject.LargeObject

public class LargeObject
extends java.lang.Object

This class implements the large object interface to postgresql.

It 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 postgresql.largeobject.LargeObjectManager on how to gain access to a Large Object, or how to create one.


Field Summary
private  int fd
           
private  postgresql.fastpath.Fastpath fp
           
private  int oid
           
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(postgresql.fastpath.Fastpath fp, int oid, int mode)
          This opens a large object.
 
Method Summary
 void close()
          This method closes the object.
 java.io.InputStream getInputStream()
          Returns an InputStream from this object.
 int getOID()
           
 java.io.OutputStream getOutputStream()
          Returns an OutputStream to this object
 void 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 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

SEEK_SET

public static final int SEEK_SET
Indicates a seek from the begining of a file

See Also:
Constant Field Values

SEEK_CUR

public static final int SEEK_CUR
Indicates a seek from the current position

See Also:
Constant Field Values

SEEK_END

public static final int SEEK_END
Indicates a seek from the end of a file

See Also:
Constant Field Values

fp

private postgresql.fastpath.Fastpath fp

oid

private int oid

fd

private int fd
Constructor Detail

LargeObject

protected LargeObject(postgresql.fastpath.Fastpath fp,
                      int oid,
                      int mode)
               throws java.sql.SQLException
This opens a large object.

If the object does not exist, then an SQLException is thrown.

Method Detail

getOID

public int getOID()

close

public void close()
           throws java.sql.SQLException
This method closes the object. You must not call methods in this object after this is called.


read

public byte[] read(int len)
            throws java.sql.SQLException
Reads some data from the object, and return as a byte[] array


read

public void read(byte[] buf,
                 int off,
                 int len)
          throws java.sql.SQLException
Reads some data from the object into an existing array


write

public void write(byte[] buf)
           throws java.sql.SQLException
Writes an array to the object


write

public void write(byte[] buf,
                  int off,
                  int len)
           throws java.sql.SQLException
Writes some data from an array to the object


seek

public void seek(int pos,
                 int ref)
          throws java.sql.SQLException
Sets the current position within the object.

This is similar to the fseek() call in the standard C library. It allows you to have random access to the large object.


seek

public void seek(int pos)
          throws java.sql.SQLException
Sets the current position within the object.

This is similar to the fseek() call in the standard C library. It allows you to have random access to the large object.


tell

public int tell()
         throws java.sql.SQLException

size

public int size()
         throws java.sql.SQLException
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.

A better method will be found in the future.


getInputStream

public java.io.InputStream getInputStream()
                                   throws java.sql.SQLException
Returns an InputStream from this object.

This InputStream can then be used in any method that requires an InputStream.


getOutputStream

public java.io.OutputStream getOutputStream()
                                     throws java.sql.SQLException
Returns an OutputStream to this object

This OutputStream can then be used in any method that requires an OutputStream.