LargeObjectManager
Keywords: org.postgresql.largeobject.LargeObjectManager class

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.postgresql.largeobject
Class LargeObjectManager

    java.lang.Object
      org.postgresql.largeobject.LargeObjectManager

    public class LargeObjectManager

extends java.lang.Object

This class implements the large object interface to org.postgresql.

It provides methods that allow client code to create, open and delete large objects from the database. When opening an object, an instance of org.postgresql.largeobject.LargeObject is returned, and its methods then allow access to the object.

This class can only be created by org.postgresql.Connection

To get access to this class, use the following segment of code:

     import org.postgresql.largeobject.*;

     Connection  conn;
     LargeObjectManager lobj;

     ... code that opens a connection ...

     lobj = ((org.postgresql.PGConnection)myconn).getLargeObjectAPI();

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.LargeObject on how to manipulate the contents of a Large Object.

See Also:
  `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` | `READ` This mode indicates we want to read an object
`static int` | `READWRITE` This mode is the default.
`static int` | `WRITE` This mode indicates we want to write to an object

Constructor Summary
`LargeObjectManager(org.postgresql.core.BaseConnection conn)` Constructs the LargeObject API.

Method Summary
`int` | `create()` Deprecated. As of 8.3, replaced by `createLO()`
`int` | `create(int mode)` Deprecated. As of 8.3, replaced by `createLO(int)`
`long` | `createLO()` This creates a large object, returning its OID.
`long` | `createLO(int mode)` This creates a large object, returning its OID
`void` | `delete(int oid)` Deprecated. As of 8.3, replaced by `delete(long)`
`void` | `delete(long oid)` This deletes a large object.
`LargeObject` | `open(int oid)` Deprecated. As of 8.3, replaced by `open(long)`
`LargeObject` | `open(int oid, int mode)` Deprecated. As of 8.3, replaced by `open(long, int)`
`LargeObject` | `open(long oid)` This opens an existing large object, based on its OID.
`LargeObject` | `open(long oid, int mode)` This opens an existing large object, based on its OID
`void` | `unlink(int oid)` Deprecated. As of 8.3, replaced by `unlink(long)`
`void` | `unlink(long oid)` This deletes a large object.

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### WRITE

    public static final int WRITE

  This mode indicates we want to write to an object

  See Also:
    Constant Field Values

### READ

    public static final int READ

  This mode indicates we want to read an object

  See Also:
    Constant Field Values

### READWRITE

    public static final int READWRITE

  This mode is the default. It indicates we want read and write access to a large object

  See Also:
    Constant Field Values

Constructor Detail

### LargeObjectManager

    public LargeObjectManager(org.postgresql.core.BaseConnection conn)
                       throws java.sql.SQLException

  Constructs the LargeObject API.

  Important Notice
  This method should only be called by org.postgresql.Connection

  There should only be one LargeObjectManager per Connection. The org.postgresql.Connection class keeps track of the various extension API's and it's advised you use those to gain access, and not going direct.

  Throws:
    `java.sql.SQLException`

Method Detail

### open

    public LargeObject open(int oid)
                     throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `open(long)`

  This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).

  Parameters:
    `oid` - of large object
  Returns:
    LargeObject instance providing access to the object
  Throws:
    `java.sql.SQLException` - on error

### open

    public LargeObject open(long oid)
                     throws java.sql.SQLException

  This opens an existing large object, based on its OID. This method assumes that READ and WRITE access is required (the default).

  Parameters:
    `oid` - of large object
  Returns:
    LargeObject instance providing access to the object
  Throws:
    `java.sql.SQLException` - on error

### open

    public LargeObject open(int oid,
                            int mode)
                     throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `open(long, int)`

  This opens an existing large object, based on its OID

  Parameters:
    `oid` - of large object
    `mode` - mode of open
  Returns:
    LargeObject instance providing access to the object
  Throws:
    `java.sql.SQLException` - on error

### open

    public LargeObject open(long oid,
                            int mode)
                     throws java.sql.SQLException

  This opens an existing large object, based on its OID

  Parameters:
    `oid` - of large object
    `mode` - mode of open
  Returns:
    LargeObject instance providing access to the object
  Throws:
    `java.sql.SQLException` - on error

### create

    public int create()
               throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `createLO()`

  This creates a large object, returning its OID.

  It defaults to READWRITE for the new object's attributes.

  Returns:
    oid of new object
  Throws:
    `java.sql.SQLException` - on error

### createLO

    public long createLO()
                  throws java.sql.SQLException

  This creates a large object, returning its OID.

  It defaults to READWRITE for the new object's attributes.

  Returns:
    oid of new object
  Throws:
    `java.sql.SQLException`

### createLO

    public long createLO(int mode)
                  throws java.sql.SQLException

  This creates a large object, returning its OID

  Parameters:
    `mode` - a bitmask describing different attributes of the new object
  Returns:
    oid of new object
  Throws:
    `java.sql.SQLException` - on error

### create

    public int create(int mode)
               throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `createLO(int)`

  This creates a large object, returning its OID

  Parameters:
    `mode` - a bitmask describing different attributes of the new object
  Returns:
    oid of new object
  Throws:
    `java.sql.SQLException` - on error

### delete

    public void delete(long oid)
                throws java.sql.SQLException

  This deletes a large object.

  Parameters:
    `oid` - describing object to delete
  Throws:
    `java.sql.SQLException` - on error

### unlink

    public void unlink(int oid)
                throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `unlink(long)`

  This deletes a large object.

  It is identical to the delete method, and is supplied as the C API uses unlink.

  Parameters:
    `oid` - describing object to delete
  Throws:
    `java.sql.SQLException` - on error

### unlink

    public void unlink(long oid)
                throws java.sql.SQLException

  This deletes a large object.

  It is identical to the delete method, and is supplied as the C API uses unlink.

  Parameters:
    `oid` - describing object to delete
  Throws:
    `java.sql.SQLException` - on error

### delete

    public void delete(int oid)
                throws java.sql.SQLException

  Deprecated. As of 8.3, replaced by `delete(long)`

  This deletes a large object.

  Parameters:
    `oid` - describing object to delete
  Throws:
    `java.sql.SQLException` - on error

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD