org.firebirdsql.jdbc.field

## Class FBCachedClob

- java.lang.Object
- - org.firebirdsql.jdbc.field.FBCachedClob

All Implemented Interfaces:
  java.sql.Clob, java.sql.NClob

    public class FBCachedClob
    extends java.lang.Object
    implements java.sql.Clob, java.sql.NClob

Clob implementation that is cached client-side.

This implementation is used for disconnected result sets (ie scrollable and hold cursors over commit).

This class also implements `NClob` so it can be used with the `set/get/updateNClob` methods transparently. It technically does not conform to the JDBC requirements for `NClob`.

### Constructor Summary

Constructors
Constructor and Description
`FBCachedClob(FBCachedBlob blob, java.lang.String javaEncoding)`

### Method Summary

Methods
`void` `free()`
`java.io.InputStream` `getAsciiStream()`
`java.io.Reader` `getCharacterStream()`
`java.io.Reader` `getCharacterStream(long pos, long length)`
`java.lang.String` `getSubString(long pos, int length)`
`long` `length()`
`long` `position(java.sql.Clob searchstr, long start)`
`long` `position(java.lang.String searchstr, long start)`
`java.io.OutputStream` `setAsciiStream(long pos)`
`java.io.Writer` `setCharacterStream(long pos)`
`int` `setString(long pos, java.lang.String str)`
`int` `setString(long pos, java.lang.String str, int offset, int len)`
`void` `truncate(long len)`

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

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

### Constructor Detail

#### FBCachedClob

    public FBCachedClob(FBCachedBlob blob,
                java.lang.String javaEncoding)

### Method Detail

#### free

    public void free()
              throws java.sql.SQLException

Specified by:
  `free` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### getAsciiStream

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

Specified by:
  `getAsciiStream` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### getCharacterStream

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

Specified by:
  `getCharacterStream` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### getCharacterStream

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

Specified by:
  `getCharacterStream` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### getSubString

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

Specified by:
  `getSubString` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### length

    public long length()
                throws java.sql.SQLException

Specified by:
  `length` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### position

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

Specified by:
  `position` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### position

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

Specified by:
  `position` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### setAsciiStream

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

Specified by:
  `setAsciiStream` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### setCharacterStream

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

Specified by:
  `setCharacterStream` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### setString

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

Specified by:
  `setString` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### setString

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

Specified by:
  `setString` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`

#### truncate

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

Specified by:
  `truncate` in interface `java.sql.Clob`
Throws:
  `java.sql.SQLException`