package com.revolsys.jdbc; import java.io.InputStream; import java.io.OutputStream; import java.io.Reader; import java.io.StringReader; import java.io.Writer; import java.sql.Clob; import java.sql.SQLException; public class StringClob implements Clob { private String string; public StringClob(final String string) { this.string = string; } @Override public void free() throws SQLException { this.string = null; } @Override public InputStream getAsciiStream() throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public Reader getCharacterStream() throws SQLException { return new StringReader(this.string); } @Override public Reader getCharacterStream(final long offset, final long length) throws SQLException { return new StringReader(this.string.substring((int)offset - 1, (int)length)); } @Override public String getSubString(final long pos, final int len) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public long length() throws SQLException { return this.string.length(); } @Override public long position(final Clob colb, final long pos) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public long position(final String string, final long pos) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public OutputStream setAsciiStream(final long pos) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public Writer setCharacterStream(final long pos) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public int setString(final long pos, final String string) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public int setString(final long pos, final String string, final int i, final int j) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } @Override public void truncate(final long pos) throws SQLException { throw new UnsupportedOperationException("Cannot modify Clob"); } }