org.firebirdsql.jdbc.field

## Class FBCachedClob

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

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

      public final 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, FBBlob.Config blobConfig)`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `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,
                              FBBlob.Config blobConfig)

  - ### 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`

Copyright © 2001-2025 Jaybird (Firebird JDBC) team. All rights reserved.