blob: 2839aeec6f2880b97037b273ce6d6abbe2ce092a [file] [log] [blame]
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
package org.apache.cocoon.util;
import java.sql.Clob;
import java.io.InputStream;
import java.io.Reader;
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.io.OutputStream;
import java.io.Writer;
/**
* A minimal implementation just enough to send a CLOB to a
* database. Advanced methods and all methods for modifying the CLOB
* are not implemented.
*
* @version CVS $Id$
*/
public class ClobHelper implements Clob{
InputStream in = null;
long length = 0;
public ClobHelper(InputStream is, long len) {
this.in = is;
this.length = len;
}
public InputStream getAsciiStream() {
return this.in;
}
public Reader getCharacterStream() {
return new BufferedReader(new InputStreamReader(this.in));
}
public long length() {
return length;
}
/**
* Not implemented.
*/
public String getSubString(long pos, int length) {
System.out.println("ClobHelper ** NOT IMPLEMENTED ** getSubString");
return "";
}
/**
* Not implemented.
*/
public long position(Clob searchstr, long start) {
System.out.println("ClobHelper ** NOT IMPLEMENTED ** position(clob,long)");
return -1; // we don't implement this
}
/**
* Not implemented.
*/
public long position(String searchstr, long start) {
System.out.println("ClobHelper ** NOT IMPLEMENTED ** position(str,long)");
return -1; // we don't implement this
}
// if ever implemented.... the following are the JDBC3 methods
// since not implemented anyway, included in JDBC2 builds as well.
// @JDBC3_START@
// @JDBC3_END@
/**
* Not implemented.
*/
public OutputStream setAsciiStream(long pos) {
System.out.println("ClobHelper ** NOT IMPLEMENTED ** setAsciiStream");
return null;
}
/**
* Not implemented.
*/
public Writer setCharacterStream(long pos) {
System.out.println("ClobHelper ** NOT IMPLEMENTED ** setCharacterStream");
return null;
}
/**
* Not implemented.
*/
public int setString(long pos, String str){
System.out.println("ClobHelper ** NOT IMPLEMENTED ** setString(long,str)");
return 0;
}
/**
* Not implemented.
*/
public int setString(long pos, String str, int offset, int len){
System.out.println("ClobHelper ** NOT IMPLEMENTED ** setString(long,str,int,int)");
return 0;
}
/**
* Not implemented.
*/
public void truncate(long len){
System.out.println("ClobHelper ** NOT IMPLEMENTED ** truncate");
}
/**
* Not implemented (Java6 extension).
*/
public void free() {
System.out.println("BlobHelper ** NOT IMPLEMENTED ** free");
}
/**
* Not implemented (Java6 extension).
*/
public Reader getCharacterStream(long pos, long length) {
System.out.println("BlobHelper ** NOT IMPLEMENTED ** getCharacterStream(long,long");
return null;
}
}