org.axiondb.types
Class ClobSource

java.lang.Object
  extended by org.axiondb.jdbc.AbstractAxionClob
      extended by org.axiondb.types.ClobSource
All Implemented Interfaces:
java.sql.Clob, AxionClob

public class ClobSource
extends AbstractAxionClob

An Clob wrapping a LobSource.

Version:
$Revision: 1.6 $ $Date: 2007/11/13 19:04:02 $

Constructor Summary
ClobSource(LobSource lob)
           
 
Method Summary
 void free()
           
 java.io.InputStream getAsciiStream()
          This method is guaranteed to return an ASCII strream.
 java.io.Reader getCharacterStream()
           
 java.io.Reader getCharacterStream(long arg0, long arg1)
           
protected  java.io.InputStream getUtf8Stream()
           
 long length()
           
 java.io.OutputStream setAsciiStream(long pos)
          The behaviour of this method is undefined for non-ASCII input.
 void setLobSource(LobSource lob)
           
 java.io.OutputStream setUtf8Stream(long pos)
           
 void truncate(long length)
           
 
Methods inherited from class org.axiondb.jdbc.AbstractAxionClob
getSubString, position, position, setCharacterStream, setString, setString
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

ClobSource

public ClobSource(LobSource lob)
Method Detail

setLobSource

public void setLobSource(LobSource lob)

getUtf8Stream

protected java.io.InputStream getUtf8Stream()
                                     throws AxionException
Throws:
AxionException

getAsciiStream

public java.io.InputStream getAsciiStream()
                                   throws java.sql.SQLException
This method is guaranteed to return an ASCII strream. The stream returned will throw an IOException if it encounters non-ASCII characters in the underlying Clob.

Specified by:
getAsciiStream in interface java.sql.Clob
Specified by:
getAsciiStream in interface AxionClob
Overrides:
getAsciiStream in class AbstractAxionClob
Throws:
java.sql.SQLException

getCharacterStream

public java.io.Reader getCharacterStream()
                                  throws java.sql.SQLException
Specified by:
getCharacterStream in interface java.sql.Clob
Specified by:
getCharacterStream in interface AxionClob
Overrides:
getCharacterStream in class AbstractAxionClob
Throws:
java.sql.SQLException

setAsciiStream

public java.io.OutputStream setAsciiStream(long pos)
                                    throws java.sql.SQLException
The behaviour of this method is undefined for non-ASCII input. Make sure to limit input to ASCII only.

Specified by:
setAsciiStream in interface java.sql.Clob
Specified by:
setAsciiStream in interface AxionClob
Overrides:
setAsciiStream in class AbstractAxionClob
Throws:
java.sql.SQLException

setUtf8Stream

public java.io.OutputStream setUtf8Stream(long pos)
                                   throws java.sql.SQLException
Specified by:
setUtf8Stream in class AbstractAxionClob
Throws:
java.sql.SQLException
See Also:
AbstractAxionClob.setCharacterStream(long)

length

public long length()
            throws java.sql.SQLException
Specified by:
length in interface java.sql.Clob
Specified by:
length in interface AxionClob
Overrides:
length in class AbstractAxionClob
Throws:
java.sql.SQLException

truncate

public void truncate(long length)
              throws java.sql.SQLException
Specified by:
truncate in interface java.sql.Clob
Specified by:
truncate in interface AxionClob
Overrides:
truncate in class AbstractAxionClob
Throws:
java.sql.SQLException

free

public void free()
          throws java.sql.SQLException
Throws:
java.sql.SQLException

getCharacterStream

public java.io.Reader getCharacterStream(long arg0,
                                         long arg1)
                                  throws java.sql.SQLException
Throws:
java.sql.SQLException