Class ClobImpl
- java.lang.Object
-
- org.datanucleus.store.rdbms.mapping.column.ClobImpl
-
- All Implemented Interfaces:
java.sql.Clob
public class ClobImpl extends java.lang.Object implements java.sql.ClobThe mapping in the Java programming language for the SQLCLOBtype. An SQLCLOBis a built-in type that stores a Character Large Object as a column value in a row of a database table. By default drivers implement aClobobject using an SQLlocator(CLOB), which means that aClobobject contains a logical pointer to the SQLCLOBdata rather than the data itself. AClobobject is valid for the duration of the transaction in which it was created.The
Clobinterface provides methods for getting the length of an SQLCLOB(Character Large Object) value, for materializing aCLOBvalue on the client, and for searching for a substring orCLOBobject within aCLOBvalue. Methods in the interfacesResultSet,CallableStatement, andPreparedStatement, such asgetClobandsetCloballow a programmer to access an SQLCLOBvalue. In addition, this interface has methods for updating aCLOBvalue.
-
-
Field Summary
Fields Modifier and Type Field Description (package private) booleanfreedWhether we have already freed resources.private java.io.InputStreaminputStreamInputStream for operations that work that way.private longlengthprivate java.io.StringReaderreaderReader for the operations that work that way.private java.lang.Stringstring
-
Constructor Summary
Constructors Constructor Description ClobImpl(java.lang.String string)Constructor taking a string.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidfree()Free the Blob object and releases the resources that it holds.java.io.InputStreamgetAsciiStream()java.io.ReadergetCharacterStream()java.io.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.java.lang.StringgetSubString(long pos, int length)longlength()longposition(java.lang.String searchstr, long start)longposition(java.sql.Clob searchstr, long start)java.io.OutputStreamsetAsciiStream(long pos)java.io.WritersetCharacterStream(long pos)intsetString(long pos, java.lang.String str)intsetString(long pos, java.lang.String str, int offset, int len)voidtruncate(long len)
-
-
-
Field Detail
-
string
private java.lang.String string
-
length
private long length
-
reader
private java.io.StringReader reader
Reader for the operations that work that way.
-
inputStream
private java.io.InputStream inputStream
InputStream for operations that work that way. TODO Rationalise with reader above.
-
freed
boolean freed
Whether we have already freed resources.
-
-
Method Detail
-
length
public long length() throws java.sql.SQLException- Specified by:
lengthin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
truncate
public void truncate(long len) throws java.sql.SQLException- Specified by:
truncatein interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
getAsciiStream
public java.io.InputStream getAsciiStream() throws java.sql.SQLException- Specified by:
getAsciiStreamin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
setAsciiStream
public java.io.OutputStream setAsciiStream(long pos) throws java.sql.SQLException- Specified by:
setAsciiStreamin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
getCharacterStream
public java.io.Reader getCharacterStream() throws java.sql.SQLException- Specified by:
getCharacterStreamin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
setCharacterStream
public java.io.Writer setCharacterStream(long pos) throws java.sql.SQLException- Specified by:
setCharacterStreamin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
free
public void free() throws java.sql.SQLExceptionFree the Blob object and releases the resources that it holds. The object is invalid once the free method is called.- Specified by:
freein interfacejava.sql.Clob- Throws:
java.sql.SQLException- if an error occurs
-
getCharacterStream
public java.io.Reader getCharacterStream(long pos, long length) throws java.sql.SQLExceptionReturns 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 interfacejava.sql.Clob- Parameters:
pos- the offset to the first byte of the partial value to be retrieved. The first byte in the Clob is at position 1length- the length in bytes of the partial value to be retrieved- Throws:
java.sql.SQLException
-
getSubString
public java.lang.String getSubString(long pos, int length) throws java.sql.SQLException- Specified by:
getSubStringin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
setString
public int setString(long pos, java.lang.String str) throws java.sql.SQLException- Specified by:
setStringin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
setString
public int setString(long pos, java.lang.String str, int offset, int len) throws java.sql.SQLException- Specified by:
setStringin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
position
public long position(java.lang.String searchstr, long start) throws java.sql.SQLException- Specified by:
positionin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
position
public long position(java.sql.Clob searchstr, long start) throws java.sql.SQLException- Specified by:
positionin interfacejava.sql.Clob- Throws:
java.sql.SQLException
-
-