Package openlink.util

## Class OPLHeapClob

- java.lang.Object
- - openlink.util.OPLHeapClob

All Implemented Interfaces:
  `java.io.Serializable`, `java.sql.Clob`

Direct Known Subclasses:
  `OPLHeapNClob`

    public class OPLHeapClob
    extends java.lang.Object
    implements java.sql.Clob, java.io.Serializable

See Also:
  Serialized Form

### Nested Class Summary

Nested Classes
`protected class` `OPLHeapClob.BlobInputReader`
`protected class` `OPLHeapClob.BlobInputStream`
`protected class` `OPLHeapClob.BlobOutputStream`
`protected class` `OPLHeapClob.BlobOutputWriter`

### Constructor Summary

Constructors
`OPLHeapClob​()`
`OPLHeapClob​(char[] b)`
`OPLHeapClob​(java.io.Reader is)`
`OPLHeapClob​(java.lang.String b)`

### Method Summary

All Methods Instance Methods Concrete Methods
`void` `free​()` This method frees the `Clob` object and releases the resources the resources that it holds.
`java.io.InputStream` `getAsciiStream​()` Retrieves the `CLOB` value designated by this `Clob` object as an ascii stream.
`java.io.Reader` `getCharacterStream​()` Retrieves the `CLOB` value designated by this `Clob` object as a `java.io.Reader` object (or as a stream of characters).
`java.io.Reader` `getCharacterStream​(long pos, long length)` Returns a `Reader` object that contains a partial `Clob` value, starting with the character specified by pos, which is length characters in length.
`java.lang.String` `getSubString​(long pos, int len)` Retrieves a copy of the specified substring in the `CLOB` value designated by this `Clob` object.
`long` `length​()` Retrieves the number of characters in the `CLOB` value designated by this `Clob` object.
`long` `position​(java.lang.String searchstr, long start)` Retrieves the character position at which the specified substring `searchstr` appears in the SQL `CLOB` value represented by this `Clob` object.
`long` `position​(java.sql.Clob searchstr, long start)` Retrieves the character position at which the specified `Clob` object `searchstr` appears in this `Clob` object.
`java.io.OutputStream` `setAsciiStream​(long pos)` Retrieves a stream to be used to write Ascii characters to the `CLOB` value that this `Clob` object represents, starting at position `pos`.
`java.io.Writer` `setCharacterStream​(long pos)` Retrieves a stream to be used to write a stream of Unicode characters to the `CLOB` value that this `Clob` object represents, at position `pos`.
`int` `setString​(long pos, java.lang.String str)` Writes the given Java `String` to the `CLOB` value that this `Clob` object designates at the position `pos`.
`int` `setString​(long pos, java.lang.String str, int offset, int len)` Writes `len` characters of `str`, starting at character `offset`, to the `CLOB` value that this `Clob` represents.
`void` `truncate​(long len)` Truncates the `CLOB` value that this `Clob` designates to have a length of `len` characters.

### Methods inherited from class java.lang.Object

`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

### Constructor Detail

#### OPLHeapClob

    public OPLHeapClob​()

#### OPLHeapClob

    public OPLHeapClob​(java.lang.String b)

#### OPLHeapClob

    public OPLHeapClob​(char[] b)

#### OPLHeapClob

    public OPLHeapClob​(java.io.Reader is)
                throws java.sql.SQLException

Throws:
  `java.sql.SQLException`

### Method Detail

#### length

    public long length​()
                throws java.sql.SQLException

Retrieves the number of characters in the `CLOB` value designated by this `Clob` object.

Specified by:
  `length` in interface `java.sql.Clob`
Returns:
  length of the `CLOB` in characters
Throws:
  `java.sql.SQLException` - if there is an error accessing the length of the `CLOB` value
Since:
  1.2

#### getSubString

    public java.lang.String getSubString​(long pos,
                                         int len)
                                  throws java.sql.SQLException

Retrieves a copy of the specified substring in the `CLOB` value designated by this `Clob` object. The substring begins at position `pos` and has up to `length` consecutive characters.

Specified by:
  `getSubString` in interface `java.sql.Clob`
Parameters:
  `pos` - the first character of the substring to be extracted. The first character is at position 1.
  `len` - the number of consecutive characters to be copied
Returns:
  a `String` that is the specified substring in the `CLOB` value designated by this `Clob` object
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.2

#### getCharacterStream

    public java.io.Reader getCharacterStream​()
                                      throws java.sql.SQLException

Retrieves the `CLOB` value designated by this `Clob` object as a `java.io.Reader` object (or as a stream of characters).

Specified by:
  `getCharacterStream` in interface `java.sql.Clob`
Returns:
  a `java.io.Reader` object containing the `CLOB` data
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.2
See Also:
  `setCharacterStream(long)`

#### getAsciiStream

    public java.io.InputStream getAsciiStream​()
                                       throws java.sql.SQLException

Retrieves the `CLOB` value designated by this `Clob` object as an ascii stream.

Specified by:
  `getAsciiStream` in interface `java.sql.Clob`
Returns:
  a `java.io.InputStream` object containing the `CLOB` data
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.2
See Also:
  `setAsciiStream(long)`

#### position

    public long position​(java.lang.String searchstr,
                         long start)
                  throws java.sql.SQLException

Retrieves the character position at which the specified substring `searchstr` appears in the SQL `CLOB` value represented by this `Clob` object. The search begins at position `start`.

Specified by:
  `position` in interface `java.sql.Clob`
Parameters:
  `searchstr` - the substring for which to search
  `start` - the position at which to begin searching; the first position is 1
Returns:
  the position at which the substring appears or -1 if it is not present; the first position is 1
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.2

#### position

    public long position​(java.sql.Clob searchstr,
                         long start)
                  throws java.sql.SQLException

Retrieves the character position at which the specified `Clob` object `searchstr` appears in this `Clob` object. The search begins at position `start`.

Specified by:
  `position` in interface `java.sql.Clob`
Parameters:
  `searchstr` - the `Clob` object for which to search
  `start` - the position at which to begin searching; the first position is 1
Returns:
  the position at which the `Clob` object appears or -1 if it is not present; the first position is 1
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.2

#### setString

    public int setString​(long pos,
                         java.lang.String str)
                  throws java.sql.SQLException

Writes the given Java `String` to the `CLOB` value that this `Clob` object designates at the position `pos`.

Specified by:
  `setString` in interface `java.sql.Clob`
Parameters:
  `pos` - the position at which to start writing to the `CLOB` value that this `Clob` object represents
  `str` - the string to be written to the `CLOB` value that this `Clob` designates
Returns:
  the number of characters written
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.4

#### setString

    public int setString​(long pos,
                         java.lang.String str,
                         int offset,
                         int len)
                  throws java.sql.SQLException

Writes `len` characters of `str`, starting at character `offset`, to the `CLOB` value that this `Clob` represents.

Specified by:
  `setString` in interface `java.sql.Clob`
Parameters:
  `pos` - the position at which to start writing to this `CLOB` object
  `str` - the string to be written to the `CLOB` value that this `Clob` object represents
  `offset` - the offset into `str` to start reading the characters to be written
  `len` - the number of characters to be written
Returns:
  the number of characters written
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.4

#### setAsciiStream

    public java.io.OutputStream setAsciiStream​(long pos)
                                        throws java.sql.SQLException

Retrieves a stream to be used to write Ascii characters to the `CLOB` value that this `Clob` object represents, starting at position `pos`.

Specified by:
  `setAsciiStream` in interface `java.sql.Clob`
Parameters:
  `pos` - the position at which to start writing to this `CLOB` object
Returns:
  the stream to which ASCII encoded characters can be written
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.4
See Also:
  `getAsciiStream()`

#### setCharacterStream

    public java.io.Writer setCharacterStream​(long pos)
                                      throws java.sql.SQLException

Retrieves a stream to be used to write a stream of Unicode characters to the `CLOB` value that this `Clob` object represents, at position `pos`.

Specified by:
  `setCharacterStream` in interface `java.sql.Clob`
Parameters:
  `pos` - the position at which to start writing to the `CLOB` value
Returns:
  a stream to which Unicode encoded characters can be written
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.4
See Also:
  `getCharacterStream()`

#### truncate

    public void truncate​(long len)
                  throws java.sql.SQLException

Truncates the `CLOB` value that this `Clob` designates to have a length of `len` characters.

Specified by:
  `truncate` in interface `java.sql.Clob`
Parameters:
  `len` - the length, in bytes, to which the `CLOB` value should be truncated
Throws:
  `java.sql.SQLException` - if there is an error accessing the `CLOB` value
Since:
  1.4

#### free

    public void free​()
              throws java.sql.SQLException

This method frees the `Clob` object and releases the resources the resources that it holds. The object is invalid once the `free` method is called.

After `free` has been called, any attempt to invoke a method other than `free` will result in a `SQLException` being thrown. If `free` is called multiple times, the subsequent calls to `free` are treated as a no-op.

Specified by:
  `free` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException` - if an error occurs releasing the Clob's resources
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6

#### getCharacterStream

    public java.io.Reader getCharacterStream​(long pos,
                                             long length)
                                      throws java.sql.SQLException

Returns a `Reader` object that contains a partial `Clob` value, starting with the character specified by pos, which is length characters in length.

Specified by:
  `getCharacterStream` in interface `java.sql.Clob`
Parameters:
  `pos` - the offset to the first character of the partial value to be retrieved. The first character in the Clob is at position 1.
  `length` - the length in characters of the partial value to be retrieved.
Returns:
  `Reader` through which the partial `Clob` value can be read.
Throws:
  `java.sql.SQLException` - if pos is less than 1 or if pos is greater than the number of characters in the `Clob` or if pos + length is greater than the number of characters in the `Clob`
  `java.sql.SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
Since:
  1.6