Package com.ocient.jdbc

# Class XGClob

java.lang.Object
com.ocient.jdbc.XGClob

All Implemented Interfaces:
  `Clob`, `NClob`

public class XGClob extends Object implements Clob, NClob
An in-memory implementation of java.sql.Clob and java.sql.NClob. This class can be either read-only (for data from an XGResultSet) or writeable (for data created via XGConnection.createClob()). It holds the data in a StringBuilder.

## Constructor Summary

Constructors
Constructor
Description
`XGClob()`
Creates a new, writeable, empty XGClob.
`XGClob(String data)`
Creates a new, read-only XGClob wrapping the given string data.

## Method Summary

Modifier and Type
Method
Description
`void`
`free()`
`InputStream`
`getAsciiStream()`
`Reader`
`getCharacterStream()`
`Reader`
`getCharacterStream(long pos, long length)`
`String`
`getSubString(long pos, int length)`
`long`
`length()`
`long`
`position(String searchstr, long start)`
`long`
`position(Clob searchstr, long start)`
`OutputStream`
`setAsciiStream(long pos)`
`Writer`
`setCharacterStream(long pos)`
`int`
`setString(long pos, String str)`
`int`
`setString(long pos, 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 Details

### XGClob

public XGClob()
Creates a new, writeable, empty XGClob. Used by Connection.createClob() and createNClob().

### XGClob

public XGClob(String data)
Creates a new, read-only XGClob wrapping the given string data. Used by XGResultSet.getClob().

Parameters:
  `data` - The string data to wrap.

## Method Details

### length

public long length() throws SQLException

Specified by:
  `length` in interface `Clob`
Throws:
  `SQLException`

### getSubString

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

Specified by:
  `getSubString` in interface `Clob`
Throws:
  `SQLException`

### getCharacterStream

public Reader getCharacterStream() throws SQLException

Specified by:
  `getCharacterStream` in interface `Clob`
Throws:
  `SQLException`

### getAsciiStream

public InputStream getAsciiStream() throws SQLException

Specified by:
  `getAsciiStream` in interface `Clob`
Throws:
  `SQLException`

### position

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

Specified by:
  `position` in interface `Clob`
Throws:
  `SQLException`

### position

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

Specified by:
  `position` in interface `Clob`
Throws:
  `SQLException`

### getCharacterStream

public Reader getCharacterStream(long pos, long length) throws SQLException

Specified by:
  `getCharacterStream` in interface `Clob`
Throws:
  `SQLException`

### free

public void free() throws SQLException

Specified by:
  `free` in interface `Clob`
Throws:
  `SQLException`

### setString

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

Specified by:
  `setString` in interface `Clob`
Throws:
  `SQLException`

### setString

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

Specified by:
  `setString` in interface `Clob`
Throws:
  `SQLException`

### setAsciiStream

public OutputStream setAsciiStream(long pos) throws SQLException

Specified by:
  `setAsciiStream` in interface `Clob`
Throws:
  `SQLException`

### setCharacterStream

public Writer setCharacterStream(long pos) throws SQLException

Specified by:
  `setCharacterStream` in interface `Clob`
Throws:
  `SQLException`

### truncate

public void truncate(long len) throws SQLException

Specified by:
  `truncate` in interface `Clob`
Throws:
  `SQLException`