public class SerialClob extends Objectimplements Clob , Serializable , Cloneable
CLOB value.
The SerialClob class provides a constructor for creating an instance from a Clob object. Note that the Clob object should have brought the SQL CLOB value's data over to the client before a SerialClob object is constructed from it. The data of an SQL CLOB value can be materialized on the client as a stream of Unicode characters.
SerialClob methods make it possible to get a substring from a SerialClob object or to locate the start of a pattern of characters.
A SerialClob is not safe for use by multiple concurrent threads. If a SerialClob is to be used by more than one thread then access to the SerialClob should be controlled by appropriate synchronization.
| Constructor and Description |
|---|
SerialClob(char[] ch)
Constructs a
SerialClob object that is a serialized version of the given
char array.
|
SerialClob(Clob
Constructs a
SerialClob object that is a serialized version of the given
Clob object.
|
| Modifier and Type | Method and Description |
|---|---|
Object |
clone()
Returns a clone of this
SerialClob.
|
boolean |
equals(Object
Compares this SerialClob to the specified object.
|
void |
free()
This method frees the
SeriableClob object and releases the resources that it holds.
|
InputStream |
getAsciiStream()
Retrieves the
CLOB value designated by this
SerialClob object as an ascii stream.
|
Reader |
getCharacterStream()
Returns this
SerialClob object's data as a stream of Unicode characters.
|
Reader |
getCharacterStream(long pos, long length)
Returns a
Reader object that contains a partial
SerialClob value, starting with the character specified by pos, which is length characters in length.
|
String |
getSubString(long pos, int length)
Returns a copy of the substring contained in this
SerialClob object, starting at the given position and continuing for the specified number or characters.
|
int |
hashCode()
Returns a hash code for this
SerialClob.
|
long |
length()
Retrieves the number of characters in this
SerialClob object's array of characters.
|
long |
position(Clob
Returns the position in this
SerialClob object where the given
Clob signature begins, starting the search at the specified position.
|
long |
position(String
Returns the position in this
SerialClob object where the given
String object begins, starting the search at the specified position.
|
OutputStream |
setAsciiStream(long pos)
Retrieves a stream to be used to write Ascii characters to the
CLOB value that this
SerialClob 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
SerialClob object represents, at position
pos.
|
int |
setString(long pos, String
Writes the given Java
String to the
CLOB value that this
SerialClob object represents, at the position
pos.
|
int |
setString(long pos, String
Writes
len characters of
str, starting at character
offset, to the
CLOB value that this
Clob represents.
|
void |
truncate(long length)
Truncates the
CLOB value that this
SerialClob object represents so that it has a length of
len characters.
|
public SerialClob(char[] ch)
throws SerialException,
SQLException
SerialClob object that is a serialized version of the given
char array.
The new SerialClob object is initialized with the data from the char array, thus allowing disconnected RowSet objects to establish a serialized Clob object without touching the data source.
ch - the char array representing the
Clob object to be serialized
SerialException - if an error occurs during serialization
SQLException - if a SQL error occurs
public SerialClob(Clobclob) throws SerialException , SQLException
SerialClob object that is a serialized version of the given
Clob object.
The new SerialClob object is initialized with the data from the Clob object; therefore, the Clob object should have previously brought the SQL CLOB value's data over to the client from the database. Otherwise, the new SerialClob object object will contain no data.
Note: The Clob object supplied to this constructor must return non-null for both the Clob.getCharacterStream() and Clob.getAsciiStream methods. This SerialClob constructor cannot serialize a Clob object in this instance and will throw an SQLException object.
clob - the
Clob object from which this
SerialClob object is to be constructed; cannot be null
SerialException - if an error occurs during serialization
SQLException - if a SQL error occurs in capturing the CLOB; if the
Clob object is a null; or if either of the
Clob.getCharacterStream() and
Clob.getAsciiStream() methods on the
Clob returns a null
Clob
public long length()
throws SerialException
SerialClob object's array of characters.
length in interface
Clob
long indicating the length in characters of this
SerialClob object's array of character
SerialException - if an error occurs; if
free had previously been called on this object
public ReadergetCharacterStream() throws SerialException
SerialClob object's data as a stream of Unicode characters. Unlike the related method,
getAsciiStream, a stream is produced regardless of whether the
SerialClob object was created with a
Clob object or a
char array.
getCharacterStream in interface
Clob
java.io.Reader object containing this
SerialClob object's data
SerialException - if an error occurs; if
free had previously been called on this object
Clob.setCharacterStream(long)
public InputStreamgetAsciiStream() throws SerialException , SQLException
CLOB value designated by this
SerialClob object as an ascii stream. This method forwards the
getAsciiStream call to the underlying
Clob object in the event that this
SerialClob object is instantiated with a
Clob object. If this
SerialClob object is instantiated with a
char array, a
SerialException object is thrown.
getAsciiStream in interface
Clob
java.io.InputStream object containing this
SerialClob object's data
SerialException - if this
SerialClob object was not instantiated with a
Clob object; if
free had previously been called on this object
SQLException - if there is an error accessing the
CLOB value represented by the
Clob object that was used to create this
SerialClob object
Clob.setAsciiStream(long)
public StringgetSubString(long pos, int length) throws SerialException
SerialClob object, starting at the given position and continuing for the specified number or characters.
getSubString in interface
Clob
pos - the position of the first character in the substring to be copied; the first character of the
SerialClob object is at position
1; must not be less than
1, and the sum of the starting position and the length of the substring must be less than the length of this
SerialClob object
length - the number of characters in the substring to be returned; must not be greater than the length of this
SerialClob object, and the sum of the starting position and the length of the substring must be less than the length of this
SerialClob object
String object containing a substring of this
SerialClob object beginning at the given position and containing the specified number of consecutive characters
SerialException - if either of the arguments is out of bounds; if
free had previously been called on this object
public long position(StringsearchStr, long start) throws SerialException , SQLException
SerialClob object where the given
String object begins, starting the search at the specified position. This method returns
-1 if the pattern is not found.
position in interface
Clob
searchStr - the
String object for which to search
start - the position in this
SerialClob object at which to start the search; the first position is
1; must not be less than
1 nor greater than the length of this
SerialClob object
String object begins, starting the search at the specified position;
-1 if the given
String object is not found or the starting position is out of bounds; position numbering for the return value starts at
1
SerialException - if the
free method had been previously called on this object
SQLException - if there is an error accessing the Clob value from the database.
public long position(ClobsearchStr, long start) throws SerialException , SQLException
SerialClob object where the given
Clob signature begins, starting the search at the specified position. This method returns
-1 if the pattern is not found.
position in interface
Clob
searchStr - the
Clob object for which to search
start - the position in this
SerialClob object at which to begin the search; the first position is
1; must not be less than
1 nor greater than the length of this
SerialClob object
Clob object begins in this
SerialClob object, at or after the specified starting position
SerialException - if an error occurs locating the Clob signature; if the
free method had been previously called on this object
SQLException - if there is an error accessing the Clob value from the database
public int setString(long pos,
String str)
throws SerialException
String to the
CLOB value that this
SerialClob object represents, at the position
pos.
setString in interface
Clob
pos - the position at which to start writing to the
CLOB value that this
SerialClob object represents; the first position is
1; must not be less than
1 nor greater than the length of this
SerialClob object
str - the string to be written to the
CLOB value that this
SerialClob object represents
SerialException - if there is an error accessing the
CLOB value; if an invalid position is set; if an invalid offset value is set; if number of bytes to be written is greater than the
SerialClob length; or the combined values of the length and offset is greater than the Clob buffer; if the
free method had been previously called on this object
public int setString(long pos,
String str,
int offset,
int length)
throws SerialException
len characters of
str, starting at character
offset, to the
CLOB value that this
Clob represents.
setString in interface
Clob
pos - the position at which to start writing to the
CLOB value that this
SerialClob object represents; the first position is
1; must not be less than
1 nor greater than the length of this
SerialClob 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
length - the number of characters to be written
SerialException - if there is an error accessing the
CLOB value; if an invalid position is set; if an invalid offset value is set; if number of bytes to be written is greater than the
SerialClob length; or the combined values of the length and offset is greater than the Clob buffer; if the
free method had been previously called on this object
public OutputStreamsetAsciiStream(long pos) throws SerialException , SQLException
CLOB value that this
SerialClob object represents, starting at position
pos. This method forwards the
setAsciiStream() call to the underlying
Clob object in the event that this
SerialClob object is instantiated with a
Clob object. If this
SerialClob object is instantiated with a
char array, a
SerialException object is thrown.
setAsciiStream in interface
Clob
pos - the position at which to start writing to the
CLOB object
SerialException - if SerialClob is not instantiated with a Clob object; if the
free method had been previously called on this object
SQLException - if there is an error accessing the
CLOB value
getAsciiStream()
public WritersetCharacterStream(long pos) throws SerialException , SQLException
CLOB value that this
SerialClob object represents, at position
pos. This method forwards the
setCharacterStream() call to the underlying
Clob object in the event that this
SerialClob object is instantiated with a
Clob object. If this
SerialClob object is instantiated with a
char array, a
SerialException is thrown.
setCharacterStream in interface
Clob
pos - the position at which to start writing to the
CLOB value
SerialException - if the SerialClob is not instantiated with a Clob object; if the
free method had been previously called on this object
SQLException - if there is an error accessing the
CLOB value
getCharacterStream()
public void truncate(long length)
throws SerialException
CLOB value that this
SerialClob object represents so that it has a length of
len characters.
Truncating a SerialClob object to length 0 has the effect of clearing its contents.
truncate in interface
Clob
length - the length, in bytes, to which the
CLOB value should be truncated
SerialException - if there is an error accessing the
CLOB value; if the
free method had been previously called on this object
public ReadergetCharacterStream(long pos, long length) throws SQLException
Reader object that contains a partial
SerialClob value, starting with the character specified by pos, which is length characters in length.
getCharacterStream in interface
Clob
pos - the offset to the first character of the partial value to be retrieved. The first character in the
SerialClob is at position 1.
length - the length in characters of the partial value to be retrieved.
Reader through which the partial
SerialClob value can be read.
SQLException - if pos is less than 1 or if pos is greater than the number of characters in the
SerialClob or if pos + length is greater than the number of characters in the
SerialClob;
SerialException - if the
free method had been previously called on this object
public void free()
throws SQLException
SeriableClob object and releases 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
Clob
SQLException - if an error occurs releasing the Clob's resources
public boolean equals(Objectobj)
true if and only if the argument is not
null and is a
SerialClob object that represents the same sequence of characters as this object.
equals in class
Object
obj - The object to compare this
SerialClob against
true if the given object represents a
SerialClob equivalent to this SerialClob,
false otherwise
Object.hashCode() ,
HashMap
public int hashCode()
SerialClob.
hashCode in class
Object
Object.equals(java.lang.Object) ,
System.identityHashCode(java.lang.Object)
public Objectclone()
SerialClob. The copy will contain a reference to a clone of the internal character array, not a reference to the original internal character array of this
SerialClob object. The underlying
Clob object will be set to null.