Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## net.sourceforge.jtds.jdbc
Class ClobImpl

    java.lang.Object
      |
      +--net.sourceforge.jtds.jdbc.ClobImpl

All Implemented Interfaces:
  java.sql.Clob

public class ClobImpl
extends java.lang.Object
implements java.sql.Clob

An in-memory or disk based representation of character data.

Implementation note:

1. This implementation stores the CLOB data in a byte array managed by the `BlobBuffer` class. Each character is stored in 2 sequential bytes using UTF-16LE encoding.
2. As a consequence of using UTF-16LE, Unicode 3.1 supplementary characters may require an additional 2 bytes of storage. This implementation assumes that character position parameters supplied to `getSubstring`, `position` and the `set` methods refer to 16 bit characters only. The presence of supplementary characters will cause the wrong characters to be accessed.
3. For the same reasons although the position method will return the correct start position for any given pattern in the array, the returned value may be different to that expected if supplementary characters exist in the text preceding the pattern.

Version:
  $Id: ClobImpl.java,v 1.36 2007/07/08 21:38:13 bheineman Exp $
Author:
  Brian Heineman, Mike Hutchinson

Field Summary
`private BlobBuffer` | `blobBuffer` The underlying `BlobBuffer`.
`private static java.lang.String` | `EMPTY_CLOB` 0 length `String` as initial value for empty `Clob`s.

Constructor Summary
`(package private)` | `ClobImpl(ConnectionJDBC2 connection)` Constructs a new empty `Clob` instance.
`(package private)` | `ClobImpl(ConnectionJDBC2 connection, java.lang.String str)` Constructs a new initialized `Clob` instance.

Method Summary
`java.io.InputStream` | `getAsciiStream()`
`(package private) BlobBuffer` | `getBlobBuffer()` Obtain this object's backing `BlobBuffer` object.
`java.io.Reader` | `getCharacterStream()`
`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, registerNatives, toString, wait, wait, wait`

Field Detail

### EMPTY_CLOB

    private static final java.lang.String EMPTY_CLOB

  0 length `String` as initial value for empty `Clob`s.

### blobBuffer

    private final BlobBuffer blobBuffer

  The underlying `BlobBuffer`.

Constructor Detail

### ClobImpl

    ClobImpl(ConnectionJDBC2 connection)

  Constructs a new empty `Clob` instance.
  Parameters:
    `connection` - a reference to the parent connection object

### ClobImpl

    ClobImpl(ConnectionJDBC2 connection,
             java.lang.String str)

  Constructs a new initialized `Clob` instance.
  Parameters:
    `connection` - a reference to the parent connection object
    `str` - the `String` object to encapsulate

Method Detail

### getBlobBuffer

    BlobBuffer getBlobBuffer()

  Obtain this object's backing `BlobBuffer` object.
  Returns:
    the underlying `BlobBuffer`

### getAsciiStream

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

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

### getCharacterStream

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

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

### getSubString

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

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

### length

    public long length()
                throws java.sql.SQLException

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

### position

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

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

### position

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

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

### setAsciiStream

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

### setCharacterStream

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

### setString

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

### setString

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

### truncate

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

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: INNER | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Generated on August 22 2007