public class Clob extends Lob implements java.sql.Clob
| Modifier and Type | Field and Description |
|---|---|
protected java.io.InputStream |
asciiStream_ |
protected java.io.Reader |
characterStream_ |
protected java.lang.String |
encoding_ |
protected java.lang.String |
string_ |
protected java.io.InputStream |
unicodeStream_ |
protected byte[] |
utf8String_ |
agent_, ASCII_STREAM, BINARY_STREAM, BINARY_STRING, CHARACTER_STREAM, dataType_, INVALID_LOCATOR, isValid_, LOB_OBJECT_LENGTH_UNKNOWN_YET, LOCATOR, locator_, STRING, UNICODE_STREAM| Modifier | Constructor and Description |
|---|---|
private |
Clob(Agent agent,
boolean willBeLayerBStreamed) |
|
Clob(Agent agent,
byte[] unconvertedBytes,
java.lang.String charsetName,
int dataOffset) |
|
Clob(Agent agent,
java.io.InputStream inputStream,
java.lang.String encoding)
Create a
Clob of unknown length with the specified
encoding. |
|
Clob(Agent agent,
java.io.InputStream inputStream,
java.lang.String encoding,
int length) |
|
Clob(Agent agent,
int locator)
Create a
Clob object for a Clob value stored
on the server and indentified by locator. |
|
Clob(Agent agent,
java.io.Reader reader)
Create a
Clob of unknown length. |
|
Clob(Agent agent,
java.io.Reader reader,
int length) |
|
Clob(Agent agent,
java.lang.String string) |
| Modifier and Type | Method and Description |
|---|---|
void |
convertFromAsciiToCharacterStream() |
protected Clob |
createClobWrapper(java.sql.Clob clob) |
void |
free()
This method frees the
Clob object and releases the resources the resources
that it holds. |
java.io.InputStream |
getAsciiStream() |
(package private) java.io.InputStream |
getAsciiStreamX() |
java.io.Reader |
getCharacterStream() |
java.io.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. |
(package private) java.io.Reader |
getCharacterStreamX() |
(package private) long |
getLocatorLength()
Get the length in bytes of the
Clob value represented by
this locator based Clob object. |
java.lang.String |
getString() |
java.lang.String |
getSubString(long pos,
int length)
Returns a copy of the specified substring
in the
CLOB value
designated by this Clob object. |
private java.lang.String |
getSubStringX(long pos,
int length) |
java.io.InputStream |
getUnicodeStream() |
int |
getUTF8Length() |
byte[] |
getUtf8String() |
boolean |
isAsciiStream() |
boolean |
isCharacterStream() |
boolean |
isString() |
boolean |
isUnicodeStream() |
long |
length() |
protected void |
materializeStream()
Materialize the stream used for input to the database.
|
long |
position(java.sql.Clob searchstr,
long start) |
long |
position(java.lang.String searchstr,
long start) |
private long |
positionX(java.sql.Clob searchstr,
long start) |
private long |
positionX(java.lang.String searchstr,
long start) |
(package private) void |
reInitForNonLocator(java.lang.String newString)
Reinitialize the value of this CLOB.
|
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) |
int |
setStringX(long pos,
java.lang.String str,
int offset,
int len) |
void |
truncate(long len) |
checkForClosedConnection, checkForLocatorValidity, checkPosAndLength, checkValidity, completeLocalCommit, completeLocalRollback, getAgent, getLocator, getUpdateCount, incrementUpdateCount, isLayerBStreamingPossible, isLocator, listenToUnitOfWork, materializeStream, setSqlLength, sqlLength, willBeLayerBStreamedprotected java.lang.String string_
protected java.io.InputStream asciiStream_
protected java.io.InputStream unicodeStream_
protected java.io.Reader characterStream_
protected byte[] utf8String_
protected java.lang.String encoding_
public Clob(Agent agent, java.lang.String string)
public Clob(Agent agent, byte[] unconvertedBytes, java.lang.String charsetName, int dataOffset) throws SqlException
SqlExceptionpublic Clob(Agent agent, java.io.InputStream inputStream, java.lang.String encoding, int length) throws SqlException
SqlExceptionpublic Clob(Agent agent, java.io.InputStream inputStream, java.lang.String encoding) throws SqlException
Clob of unknown length with the specified
encoding.
This constructor was added to support the JDBC 4 length less overloads.
Note that a Clob created with this constructor is made for
input to the database only. Do not pass it out to the user!agent - inputStream - the data to insertencoding - encoding to use for characters. Only "ISO-8859-1" is
allowed.SqlExceptionpublic Clob(Agent agent, java.io.Reader reader, int length)
public Clob(Agent agent, int locator)
Clob object for a Clob value stored
on the server and indentified by locator.agent - context for this Clob
object (incl. connection).locator - reference id to Clob value on server.public Clob(Agent agent, java.io.Reader reader)
Clob of unknown length.
This constructor was added to support the JDBC 4 length less overloads.
Note that a Clob created with this constructor is made for
input to the database only. Do not pass it out to the user!agent - reader - the data to insertprivate Clob(Agent agent, boolean willBeLayerBStreamed)
public long length()
throws java.sql.SQLException
public java.lang.String getSubString(long pos,
int length)
throws java.sql.SQLException
CLOB value
designated by this Clob object.
The substring begins at position
pos and has up to length consecutive
characters. The starting position must be between 1 and the length
of the CLOB plus 1. This allows for zero-length CLOB values, from
which only zero-length substrings can be returned.
If a larger length is requested than there are characters available,
characters to the end of the CLOB are returned.getSubString in interface java.sql.Clobpos - the first character of the substring to be extracted.
The first character is at position 1.length - the number of consecutive characters to be copiedString that is the specified substring in
the CLOB value designated by this Clob objectjava.sql.SQLException - if there is an error accessing the
CLOB
NOTE: If the starting position is the length of the CLOB plus 1,
zero characters are returned regardless of the length requested.private java.lang.String getSubStringX(long pos,
int length)
throws SqlException
SqlExceptionpublic java.io.Reader getCharacterStream()
throws java.sql.SQLException
getCharacterStream in interface java.sql.Clobjava.sql.SQLExceptionjava.io.Reader getCharacterStreamX()
throws SqlException
SqlExceptionpublic java.io.InputStream getAsciiStream()
throws java.sql.SQLException
getAsciiStream in interface java.sql.Clobjava.sql.SQLExceptionjava.io.InputStream getAsciiStreamX()
throws SqlException
SqlExceptionpublic long position(java.lang.String searchstr,
long start)
throws java.sql.SQLException
position in interface java.sql.Clobjava.sql.SQLExceptionprivate long positionX(java.lang.String searchstr,
long start)
throws SqlException
SqlExceptionpublic long position(java.sql.Clob searchstr,
long start)
throws java.sql.SQLException
position in interface java.sql.Clobjava.sql.SQLExceptionprivate long positionX(java.sql.Clob searchstr,
long start)
throws SqlException
SqlExceptionpublic int setString(long pos,
java.lang.String str)
throws java.sql.SQLException
setString in interface java.sql.Clobjava.sql.SQLExceptionpublic int setString(long pos,
java.lang.String str,
int offset,
int len)
throws java.sql.SQLException
setString in interface java.sql.Clobjava.sql.SQLExceptionpublic int setStringX(long pos,
java.lang.String str,
int offset,
int len)
throws SqlException
SqlExceptionpublic java.io.OutputStream setAsciiStream(long pos)
throws java.sql.SQLException
setAsciiStream in interface java.sql.Clobjava.sql.SQLExceptionpublic java.io.Writer setCharacterStream(long pos)
throws java.sql.SQLException
setCharacterStream in interface java.sql.Clobjava.sql.SQLExceptionpublic void truncate(long len)
throws java.sql.SQLException
truncate in interface java.sql.Clobjava.sql.SQLExceptionpublic void free()
throws java.sql.SQLException
Clob object and releases the resources the resources
that it holds. The object is invalid once the free method
is called. If free is called multiple times, the
subsequent calls to free are treated as a no-op.free in interface java.sql.Clobjava.sql.SQLException - if an error occurs releasing
the Clob's resourcespublic java.io.Reader getCharacterStream(long pos,
long length)
throws java.sql.SQLException
Reader object that contains a partial
Clob value, starting with the character specified by pos,
which is length characters in length.getCharacterStream in interface java.sql.Clobpos - 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.Reader through which the partial Clob
value can be read.java.sql.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
Clob.length() +1public boolean isString()
public boolean isAsciiStream()
public boolean isCharacterStream()
public boolean isUnicodeStream()
public java.io.InputStream getUnicodeStream()
public java.lang.String getString()
public byte[] getUtf8String()
public int getUTF8Length()
throws SqlException
SqlExceptionprotected Clob createClobWrapper(java.sql.Clob clob) throws SqlException
SqlExceptionpublic void convertFromAsciiToCharacterStream()
throws SqlException
SqlExceptionvoid reInitForNonLocator(java.lang.String newString)
newString - the new valueprotected void materializeStream()
throws SqlException
materializeStream in class LobSqlExceptionlong getLocatorLength()
throws SqlException
Clob value represented by
this locator based Clob object.
A stored procedure call will be made to get it from the server.getLocatorLength in class LobClob in bytesSqlExceptionApache Derby V10.10 Internals - Copyright © 2004,2014 The Apache Software Foundation. All Rights Reserved.