| /* |
| * 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.Blob; |
| import java.io.InputStream; |
| import java.io.OutputStream; |
| |
| /** |
| * A minimal implementation just enough to send a BLOB to a |
| * database. Advanced methods and all methods for modifying the BLOB |
| * are not implemented. |
| * |
| * @version CVS $Id$ |
| */ |
| public class BlobHelper implements Blob{ |
| |
| InputStream in = null; |
| long length = 0; |
| |
| public BlobHelper(InputStream is, long len) { |
| this.in = is; |
| this.length = len; |
| } |
| |
| public InputStream getBinaryStream() { |
| return this.in; |
| } |
| |
| public long length() { |
| return length; |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public byte[] getBytes(long pos, int length) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** getBytes"); |
| return null; |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public long position(Blob pattern, long start) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** position(blog,long)"); |
| return -1; // we don't implement this |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public long position(byte[] pattern, long start) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** position(byte[],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 setBinaryStream(long pos) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** setBinaryStream"); |
| return null; |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public int setBytes(long pos, byte[] bytes) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** setBytes(long,byte[])"); |
| return 0; |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public int setBytes(long pos, byte[] bytes, int offset, int len) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** setBytes(long,byte[],int,int)"); |
| return 0; |
| } |
| |
| /** |
| * Not implemented. |
| */ |
| public void truncate(long len) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** truncate"); |
| } |
| |
| /** |
| * Not implemented (Java6 extension). |
| */ |
| public void free() { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** free"); |
| } |
| |
| /** |
| * Not implemented (Java6 extension). |
| */ |
| public InputStream getBinaryStream(long pos, long length) { |
| System.out.println("BlobHelper ** NOT IMPLEMENTED ** getBinaryStream(long,long"); |
| return null; |
| } |
| } |