Package nl.cwi.monetdb.jdbc
Class MonetClob
java.lang.Object
nl.cwi.monetdb.jdbc.MonetClob
- All Implemented Interfaces:
Serializable,Comparable<MonetClob>,Clob
public final class MonetClob extends Object implements Clob, Serializable, Comparable<MonetClob>
The MonetClob class implements the
Clob interface.
Because MonetDB/SQL currently has no support for streams, this class is a
shallow wrapper of a StringBuilder. It is more or less supplied to
enable an application that depends on it to run. It may be obvious
that it is a real resource expensive workaround that contradicts the
sole reason for a Clob: avoidance of huge resource consumption.
Use of this class is highly discouraged.- Author:
- Fabian Groffen
- See Also:
- Serialized Form
-
Constructor Summary
-
Method Summary
Modifier and Type Method Description intcompareTo(MonetClob o)Adding the compare to method.booleanequals(Object obj)Overriding the equals method for the byte array.voidfree()This method frees the Clob object and releases the resources the resources that it holds.InputStreamgetAsciiStream()Retrieves the CLOB value designated by this Clob object as an ascii stream.ReadergetCharacterStream()Retrieves the CLOB value designated by this Clob object as a java.io.Reader object (or as a stream of characters).ReadergetCharacterStream(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.StringgetSubString(long pos, int length)Retrieves a copy of the specified substring in the CLOB value designated by this Clob object.inthashCode()Overriding the hashCode method for the byte array.longlength()Retrieves the number of characters in the CLOB value designated by this Clob object.longposition(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.longposition(Clob searchstr, long start)Retrieves the character position at which the specified Clob object searchstr appears in this Clob object.OutputStreamsetAsciiStream(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.WritersetCharacterStream(long pos)Retrieves a stream to be used to write a stream of Unicode characters to the CLOB value that this Clob object represents, starting at position pos.intsetString(long pos, String str)Writes the given Java String to the CLOB value that this Clob object designates at the position pos.intsetString(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.StringtoString()Returns the String behind this Clob.voidtruncate(long len)Truncates the CLOB value that this Clob designates to have a length of len characters.
-
Constructor Details
-
Method Details
-
free
public void free()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. -
getAsciiStream
Retrieves the CLOB value designated by this Clob object as an ascii stream.- Specified by:
getAsciiStreamin interfaceClob- Returns:
- a java.io.InputStream object containing the CLOB data
- Throws:
SQLException- - if there is an error accessing the CLOB valueSQLFeatureNotSupportedException- this JDBC driver does not support this method
-
getCharacterStream
Retrieves the CLOB value designated by this Clob object as a java.io.Reader object (or as a stream of characters).- Specified by:
getCharacterStreamin interfaceClob- Returns:
- a java.io.Reader object containing the CLOB data
- Throws:
SQLException- - if there is an error accessing the CLOB value
-
getCharacterStream
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:
getCharacterStreamin interfaceClob- 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
-
getSubString
Retrieves a copy of the specified substring in the CLOB value designated by this Clob object. The substring begins at position pos and has up to length consecutive characters.- Specified by:
getSubStringin interfaceClob- 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 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 ClobSQLException- - if there is an error accessing the CLOB value
-
length
Retrieves the number of characters in the CLOB value designated by this Clob object.- Specified by:
lengthin interfaceClob- Returns:
- length of the CLOB in characters
- Throws:
SQLException- if there is an error accessing the length of the CLOB value
-
position
Retrieves the character position at which the specified Clob object searchstr appears in this Clob object. The search begins at position start.- Specified by:
positionin interfaceClob- Parameters:
searchstr- the Clob object for which to searchstart- 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
-
position
Retrieves the character position at which the specified substring searchstr appears in the SQL CLOB value represented by this Clob object. The search begins at position start.- Specified by:
positionin interfaceClob- Parameters:
searchstr- the substring for which to searchstart- 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
-
setAsciiStream
Retrieves a stream to be used to write Ascii characters to the CLOB value that this Clob object represents, starting at position pos. Characters written to the stream will overwrite the existing characters in the Clob object starting at the position pos. If the end of the Clob value is reached while writing characters to the stream, then the length of the Clob value will be increased to accomodate the extra characters. Note: If the value specified for pos is greater then the length+1 of the CLOB value then the behavior is undefined. Some JDBC drivers may throw a SQLException while other drivers may support this operation.- Specified by:
setAsciiStreamin interfaceClob- Parameters:
pos- - the position at which to start writing to this CLOB object; The first position is 1- Returns:
- the stream to which ASCII encoded characters can be written
- Throws:
SQLException- - if there is an error accessing the CLOB value or if pos is less than 1SQLFeatureNotSupportedException- - if the JDBC driver does not support this method
-
setCharacterStream
Retrieves a stream to be used to write a stream of Unicode characters to the CLOB value that this Clob object represents, starting at position pos. Characters written to the stream will overwrite the existing characters in the Clob object starting at the position pos. If the end of the Clob value is reached while writing characters to the stream, then the length of the Clob value will be increased to accomodate the extra characters. Note: If the value specified for pos is greater then the length+1 of the CLOB value then the behavior is undefined. Some JDBC drivers may throw a SQLException while other drivers may support this operation.- Specified by:
setCharacterStreamin interfaceClob- Parameters:
pos- - the position at which to start writing to this CLOB object; The first position is 1- Returns:
- the stream to which Unicode encoded characters can be written
- Throws:
SQLException- - if there is an error accessing the CLOB value or if pos is less than 1SQLFeatureNotSupportedException- - if the JDBC driver does not support this method
-
setString
Writes the given Java String to the CLOB value that this Clob object designates at the position pos. The string will overwrite the existing characters in the Clob object starting at the position pos. If the end of the Clob value is reached while writing the given string, then the length of the Clob value will be increased to accomodate the extra characters.- Specified by:
setStringin interfaceClob- Parameters:
pos- the position at which to start writing to the CLOB value that this Clob object representsstr- 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 or if pos is less than 1
-
setString
Writes len characters of str, starting at character offset, to the CLOB value that this Clob represents. The string will overwrite the existing characters in the Clob object starting at the position pos. If the end of the Clob value is reached while writing the given string, then the length of the Clob value will be increased to accomodate the extra characters.- Specified by:
setStringin interfaceClob- Parameters:
pos- the position at which to start writing to this CLOB objectstr- the string to be written to the CLOB value that this Clob object representsoffset- the offset into str to start reading the characters to be writtenlen- the number of characters to be written- Returns:
- the number of characters written
- Throws:
SQLException- if there is an error accessing the CLOB value or if pos is less than 1
-
truncate
Truncates the CLOB value that this Clob designates to have a length of len characters.- Specified by:
truncatein interfaceClob- 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 or if len is less than 0
-
toString
Returns the String behind this Clob. This is a MonetClob extension that does not violate nor is described in the Clob interface. -
equals
Overriding the equals method for the byte array. -
hashCode
public int hashCode()Overriding the hashCode method for the byte array. -
compareTo
Adding the compare to method.- Specified by:
compareToin interfaceComparable<MonetClob>
-