## org.hsqldb.jdbc
Class JDBCClobClient

    java.lang.Object
      org.hsqldb.jdbc.JDBCClobClient

All Implemented Interfaces:
  Clob

    public class JDBCClobClient

extends Object
implements Clob

A wrapper for HSQLDB ClobData objects. Instances of this class are returned by calls to ResultSet methods.

Since:
  JDK 1.2, HSQLDB 1.9.0
Author:
  Fred Toussi (fredt@users dot sourceforge.net)

Constructor Summary
`JDBCClobClient(org.hsqldb.SessionInterface session, org.hsqldb.types.ClobDataID clob)`

Method Summary
`void` `clearUpdates()`
`void` `free()` This method frees the `Clob` object and releases the resources the resources that it holds.
`InputStream` `getAsciiStream()` Retrieves the `CLOB` value designated by this `Clob` object as an ascii stream.
`Reader` `getCharacterStream()` Retrieves the `CLOB` value designated by this `Clob` object as a `java.io.Reader` object (or as a stream of characters).
`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.
`org.hsqldb.types.ClobDataID` `getClob()`
`String` `getSubString(long pos, int length)` Retrieves a copy of the specified substring in the `CLOB` value designated by this `Clob` object.
`boolean` `isClosed()`
`long` `length()` Retrieves the number of characters in the `CLOB` value designated by this `Clob` object.
`long` `position(Clob searchstr, long start)` Retrieves the character position at which the specified `Clob` object `searchstr` appears in this `Clob` object.
`long` `position(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.
`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`.
`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, String str)` Writes the given Java `String` to the `CLOB` value that this `Clob` object designates at the position `pos`.
`int` `setString(long pos, String str, int offset, int len)` Writes `len` characters of `str`, starting at character `offset`, to the `CLOB` value that this `Clob` represents.
`void` `setWritable(JDBCResultSet result, int index)`
`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
`equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### JDBCClobClient

    public JDBCClobClient(org.hsqldb.SessionInterface session,
                          org.hsqldb.types.ClobDataID clob)

Method Detail

### getAsciiStream

    public InputStream getAsciiStream()
                               throws SQLException

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

  Specified by:
    `getAsciiStream` in interface `Clob`
  Returns:
    a `java.io.InputStream` object containing the `CLOB` data
  Throws:
    `SQLException` - if there is an error accessing the `CLOB` value

### getCharacterStream

    public Reader getCharacterStream()
                              throws 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 `Clob`
  Returns:
    a `java.io.Reader` object containing the `CLOB` data
  Throws:
    `SQLException` - if there is an error accessing the `CLOB` value

### getSubString

    public String getSubString(long pos,
                               int length)
                        throws SQLException

  Retrieves a copy of the specified substring in the `CLOB` value designated by this `Clob` object.

  Specified by:
    `getSubString` in interface `Clob`
  Parameters:
    `pos` - the first character of the substring to be extracted. The first character is at position 1.
    `length` - 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:
    `SQLException` - if there is an error accessing the `CLOB` value

### length

    public long length()
                throws SQLException

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

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

### position

    public long position(String searchstr,
                         long start)
                  throws SQLException

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

  Specified by:
    `position` in interface `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### position

    public long position(Clob searchstr,
                         long start)
                  throws SQLException

  Retrieves the character position at which the specified `Clob` object `searchstr` appears in this `Clob` object.

  Specified by:
    `position` in interface `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### setAsciiStream

    public OutputStream setAsciiStream(long pos)
                                throws 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 `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### setCharacterStream

    public Writer setCharacterStream(long pos)
                              throws 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 `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### setString

    public int setString(long pos,
                         String str)
                  throws SQLException

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

  Specified by:
    `setString` in interface `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### setString

    public int setString(long pos,
                         String str,
                         int offset,
                         int len)
                  throws SQLException

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

  Specified by:
    `setString` in interface `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:
    `SQLException` - if there is an error accessing the `CLOB` value

### truncate

    public void truncate(long len)
                  throws SQLException

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

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

### free

    public void free()
              throws 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 `Clob`
  Throws:
    `SQLException` - if an error occurs releasing the Clob's resources
    `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
  Since:
    JDK 1.6, HSQLDB 2.0

### getCharacterStream

    public Reader getCharacterStream(long pos,
                                     long length)
                              throws 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 `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:
    `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`
    `SQLFeatureNotSupportedException` - if the JDBC driver does not support this method
  Since:
    JDK 1.6, HSQLDB 2.0

### getClob

    public org.hsqldb.types.ClobDataID getClob()

### isClosed

    public boolean isClosed()

### setWritable

    public void setWritable(JDBCResultSet result,
                            int index)

### clearUpdates

    public void clearUpdates()

Copyright © 2001 - 2010 HSQL Development Group.