org.h2.jdbc

## Class JdbcClob

- java.lang.Object
- - org.h2.message.TraceObject
  - - org.h2.jdbc.JdbcLob
    - - org.h2.jdbc.JdbcClob

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

      public final class JdbcClob
      extends JdbcLob
      implements java.sql.NClob

  Represents a CLOB value.

- - ### Nested Class Summary

    - ### Nested classes/interfaces inherited from class org.h2.jdbc.JdbcLob

      `JdbcLob.State`

  - ### Field Summary

    - ### Fields inherited from class org.h2.message.TraceObject

      `ARRAY, BLOB, CALLABLE_STATEMENT, CLOB, CONNECTION, DATA_SOURCE, DATABASE_META_DATA, PARAMETER_META_DATA, PREPARED_STATEMENT, RESULT_SET, RESULT_SET_META_DATA, SAVEPOINT, SQLXML, STATEMENT, trace, XA_DATA_SOURCE, XID`

  - ### Constructor Summary

    Constructors
    Constructor and Description
    `JdbcClob(JdbcConnection conn, org.h2.value.Value value, JdbcLob.State state, int id)` INTERNAL

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `java.io.InputStream` | `getAsciiStream()` Returns the input stream.
    `java.io.Reader` | `getCharacterStream()` Returns the reader.
    `java.io.Reader` | `getCharacterStream(long pos, long length)` Returns the reader, starting from an offset.
    `java.lang.String` | `getSubString(long pos, int length)` Returns a substring.
    `long` | `length()` Returns the length.
    `long` | `position(java.sql.Clob clobPattern, long start)` [Not supported] Searches a pattern and return the position.
    `long` | `position(java.lang.String pattern, long start)` [Not supported] Searches a pattern and return the position.
    `java.io.OutputStream` | `setAsciiStream(long pos)` [Not supported] Returns an output stream.
    `java.io.Writer` | `setCharacterStream(long pos)` Get a writer to update the Clob.
    `int` | `setString(long pos, java.lang.String str)` Fills the Clob.
    `int` | `setString(long pos, java.lang.String str, int offset, int len)` Fills the Clob.
    `void` | `truncate(long len)` [Not supported] Truncates the object.

    - ### Methods inherited from class org.h2.jdbc.JdbcLob

      `free, toString`

    - ### Methods inherited from class org.h2.message.TraceObject

      `debugCode, debugCodeAssign, debugCodeCall, debugCodeCall, debugCodeCall, getNextId, getTraceId, getTraceObjectName, isDebugEnabled, isInfoEnabled, logAndConvert, quote, quoteArray, quoteBigDecimal, quoteBytes, quoteDate, quoteIntArray, quoteMap, quoteTime, quoteTimestamp, setTrace, unsupported`

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

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

    - ### Methods inherited from interface java.sql.Clob

      `free`

- - ### Constructor Detail

    - #### JdbcClob

          public JdbcClob(JdbcConnection conn,
                          org.h2.value.Value value,
                          JdbcLob.State state,
                          int id)

      INTERNAL
      Parameters:
        `conn` - it belongs to
        `value` - of
        `state` - of the LOB
        `id` - of the trace object

  - ### Method Detail

    - #### length

          public long length()
                      throws java.sql.SQLException

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

    - #### truncate

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

      [Not supported] Truncates the object.
      Specified by:
        `truncate` in interface `java.sql.Clob`
      Throws:
        `java.sql.SQLException`

    - #### getAsciiStream

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

      Returns the input stream.
      Specified by:
        `getAsciiStream` in interface `java.sql.Clob`
      Returns:
        the input stream
      Throws:
        `java.sql.SQLException`

    - #### setAsciiStream

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

      [Not supported] Returns an output stream.
      Specified by:
        `setAsciiStream` in interface `java.sql.Clob`
      Throws:
        `java.sql.SQLException`

    - #### getCharacterStream

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

      Description copied from class: `JdbcLob`
      Returns the reader.
      Specified by:
        `getCharacterStream` in interface `java.sql.Clob`
      Returns:
        the reader
      Throws:
        `java.sql.SQLException` - on failure

    - #### setCharacterStream

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

      Get a writer to update the Clob. This is only supported for new, empty Clob objects that were created with Connection.createClob() or createNClob(). The Clob is created in a separate thread, and the object is only updated when Writer.close() is called. The position must be 1, meaning the whole Clob data is set.
      Specified by:
        `setCharacterStream` in interface `java.sql.Clob`
      Parameters:
        `pos` - where to start writing (the first character is at position 1)
      Returns:
        a writer
      Throws:
        `java.sql.SQLException`

    - #### getSubString

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

      Returns a substring.
      Specified by:
        `getSubString` in interface `java.sql.Clob`
      Parameters:
        `pos` - the position (the first character is at position 1)
        `length` - the number of characters
      Returns:
        the string
      Throws:
        `java.sql.SQLException`

    - #### setString

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

      Fills the Clob. This is only supported for new, empty Clob objects that were created with Connection.createClob() or createNClob(). The position must be 1, meaning the whole Clob data is set.
      Specified by:
        `setString` in interface `java.sql.Clob`
      Parameters:
        `pos` - where to start writing (the first character is at position 1)
        `str` - the string to add
      Returns:
        the length of the added text
      Throws:
        `java.sql.SQLException` - on failure

    - #### setString

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

      Fills the Clob. This is only supported for new, empty Clob objects that were created with Connection.createClob() or createNClob(). The position must be 1, meaning the whole Clob data is set.
      Specified by:
        `setString` in interface `java.sql.Clob`
      Parameters:
        `pos` - where to start writing (the first character is at position 1)
        `str` - the string to add
        `offset` - the string offset
        `len` - the number of characters to read
      Returns:
        the length of the added text
      Throws:
        `java.sql.SQLException`

    - #### position

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

      [Not supported] Searches a pattern and return the position.
      Specified by:
        `position` in interface `java.sql.Clob`
      Throws:
        `java.sql.SQLException`

    - #### position

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

      [Not supported] Searches a pattern and return the position.
      Specified by:
        `position` in interface `java.sql.Clob`
      Throws:
        `java.sql.SQLException`

    - #### getCharacterStream

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

      Returns the reader, starting from an offset.
      Specified by:
        `getCharacterStream` in interface `java.sql.Clob`
      Parameters:
        `pos` - 1-based offset
        `length` - length of requested area
      Returns:
        the reader
      Throws:
        `java.sql.SQLException`