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

## org.springframework.jdbc.support.lob
Class OracleLobHandler.OracleLobCreator

    java.lang.Object
      org.springframework.jdbc.support.lob.OracleLobHandler.OracleLobCreator

All Implemented Interfaces:
  LobCreator

Enclosing class:
  OracleLobHandler

    protected class OracleLobHandler.OracleLobCreator

extends java.lang.Object
implements LobCreator

LobCreator implementation for Oracle databases. Creates Oracle-style temporary BLOBs and CLOBs that it frees on close.

See Also:
  `close()`

Constructor Summary
`protected` | `OracleLobHandler.OracleLobCreator()`

Method Summary
`void` | `close()` Free all temporary BLOBs and CLOBs created by this creator.
`protected java.lang.Object` | `createLob(java.sql.PreparedStatement ps, boolean clob, OracleLobHandler.LobCallback callback)` Create a LOB instance for the given PreparedStatement, populating it via the given callback.
`protected java.sql.Connection` | `getOracleConnection(java.sql.PreparedStatement ps)` Retrieve the underlying OracleConnection, using a NativeJdbcExtractor if set.
`protected java.lang.Object` | `prepareLob(java.sql.Connection con, java.lang.Class lobClass)` Create and open an oracle.sql.BLOB/CLOB instance via reflection.
`void` | `setBlobAsBinaryStream(java.sql.PreparedStatement ps, int paramIndex, java.io.InputStream binaryStream, int contentLength)` Set the given content as binary stream on the given statement, using the given parameter index.
`void` | `setBlobAsBytes(java.sql.PreparedStatement ps, int paramIndex, byte[] content)` Set the given content as bytes on the given statement, using the given parameter index.
`void` | `setClobAsAsciiStream(java.sql.PreparedStatement ps, int paramIndex, java.io.InputStream asciiStream, int contentLength)` Set the given content as ASCII stream on the given statement, using the given parameter index.
`void` | `setClobAsCharacterStream(java.sql.PreparedStatement ps, int paramIndex, java.io.Reader characterStream, int contentLength)` Set the given content as character stream on the given statement, using the given parameter index.
`void` | `setClobAsString(java.sql.PreparedStatement ps, int paramIndex, java.lang.String content)` Set the given content as String on the given statement, using the given parameter index.

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

Constructor Detail

### OracleLobHandler.OracleLobCreator

    protected OracleLobHandler.OracleLobCreator()

Method Detail

### setBlobAsBytes

    public void setBlobAsBytes(java.sql.PreparedStatement ps,
                               int paramIndex,
                               byte[] content)
                        throws java.sql.SQLException

  Description copied from interface: `LobCreator`
  Set the given content as bytes on the given statement, using the given parameter index. Might simply invoke `PreparedStatement.setBytes` or create a Blob instance for it, depending on the database and driver.

  Specified by:
    `setBlobAsBytes` in interface `LobCreator`
  Parameters:
    `ps` - the PreparedStatement to the set the content on
    `paramIndex` - the parameter index to use
    `content` - the content as byte array, or `null` for SQL NULL
  Throws:
    `java.sql.SQLException` - if thrown by JDBC methods
  See Also:
    `PreparedStatement.setBytes(int, byte[])`

### setBlobAsBinaryStream

    public void setBlobAsBinaryStream(java.sql.PreparedStatement ps,
                                      int paramIndex,
                                      java.io.InputStream binaryStream,
                                      int contentLength)
                               throws java.sql.SQLException

  Description copied from interface: `LobCreator`
  Set the given content as binary stream on the given statement, using the given parameter index. Might simply invoke `PreparedStatement.setBinaryStream` or create a Blob instance for it, depending on the database and driver.

  Specified by:
    `setBlobAsBinaryStream` in interface `LobCreator`
  Parameters:
    `ps` - the PreparedStatement to the set the content on
    `paramIndex` - the parameter index to use
    `binaryStream` - the content as binary stream, or `null` for SQL NULL
  Throws:
    `java.sql.SQLException` - if thrown by JDBC methods
  See Also:
    `PreparedStatement.setBinaryStream(int, java.io.InputStream, int)`

### setClobAsString

    public void setClobAsString(java.sql.PreparedStatement ps,
                                int paramIndex,
                                java.lang.String content)
                         throws java.sql.SQLException

  Description copied from interface: `LobCreator`
  Set the given content as String on the given statement, using the given parameter index. Might simply invoke `PreparedStatement.setString` or create a Clob instance for it, depending on the database and driver.

  Specified by:
    `setClobAsString` in interface `LobCreator`
  Parameters:
    `ps` - the PreparedStatement to the set the content on
    `paramIndex` - the parameter index to use
    `content` - the content as String, or `null` for SQL NULL
  Throws:
    `java.sql.SQLException` - if thrown by JDBC methods
  See Also:
    `PreparedStatement.setBytes(int, byte[])`

### setClobAsAsciiStream

    public void setClobAsAsciiStream(java.sql.PreparedStatement ps,
                                     int paramIndex,
                                     java.io.InputStream asciiStream,
                                     int contentLength)
                              throws java.sql.SQLException

  Description copied from interface: `LobCreator`
  Set the given content as ASCII stream on the given statement, using the given parameter index. Might simply invoke `PreparedStatement.setAsciiStream` or create a Clob instance for it, depending on the database and driver.

  Specified by:
    `setClobAsAsciiStream` in interface `LobCreator`
  Parameters:
    `ps` - the PreparedStatement to the set the content on
    `paramIndex` - the parameter index to use
    `asciiStream` - the content as ASCII stream, or `null` for SQL NULL
  Throws:
    `java.sql.SQLException` - if thrown by JDBC methods
  See Also:
    `PreparedStatement.setAsciiStream(int, java.io.InputStream, int)`

### setClobAsCharacterStream

    public void setClobAsCharacterStream(java.sql.PreparedStatement ps,
                                         int paramIndex,
                                         java.io.Reader characterStream,
                                         int contentLength)
                                  throws java.sql.SQLException

  Description copied from interface: `LobCreator`
  Set the given content as character stream on the given statement, using the given parameter index. Might simply invoke `PreparedStatement.setCharacterStream` or create a Clob instance for it, depending on the database and driver.

  Specified by:
    `setClobAsCharacterStream` in interface `LobCreator`
  Parameters:
    `ps` - the PreparedStatement to the set the content on
    `paramIndex` - the parameter index to use
    `characterStream` - the content as character stream, or `null` for SQL NULL
  Throws:
    `java.sql.SQLException` - if thrown by JDBC methods
  See Also:
    `PreparedStatement.setCharacterStream(int, java.io.Reader, int)`

### createLob

    protected java.lang.Object createLob(java.sql.PreparedStatement ps,
                                         boolean clob,
                                         OracleLobHandler.LobCallback callback)
                                  throws java.sql.SQLException

  Create a LOB instance for the given PreparedStatement, populating it via the given callback.

  Throws:
    `java.sql.SQLException`

### getOracleConnection

    protected java.sql.Connection getOracleConnection(java.sql.PreparedStatement ps)
                                               throws java.sql.SQLException,
                                                      java.lang.ClassNotFoundException

  Retrieve the underlying OracleConnection, using a NativeJdbcExtractor if set.

  Throws:
    `java.sql.SQLException`
    `java.lang.ClassNotFoundException`

### prepareLob

    protected java.lang.Object prepareLob(java.sql.Connection con,
                                          java.lang.Class lobClass)
                                   throws java.lang.Exception

  Create and open an oracle.sql.BLOB/CLOB instance via reflection.

  Throws:
    `java.lang.Exception`

### close

    public void close()

  Free all temporary BLOBs and CLOBs created by this creator.

  Specified by:
    `close` in interface `LobCreator`

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