1 /** 2 * com.mckoi.database.CellBufferOutputStream 27 Mar 1998 3 * 4 * Mckoi SQL Database ( http://www.mckoi.com/database ) 5 * Copyright (C) 2000, 2001, 2002 Diehl and Associates, Inc. 6 * 7 * This program is free software; you can redistribute it and/or 8 * modify it under the terms of the GNU General Public License 9 * Version 2 as published by the Free Software Foundation. 10 * 11 * This program is distributed in the hope that it will be useful, 12 * but WITHOUT ANY WARRANTY; without even the implied warranty of 13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 14 * GNU General Public License Version 2 for more details. 15 * 16 * You should have received a copy of the GNU General Public License 17 * Version 2 along with this program; if not, write to the Free Software 18 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. 19 * 20 * Change Log: 21 * 22 * 23 */ 24 25 package com.mckoi.database; 26 27 import java.io.*; 28 29 /** 30 * This is a ByteArrayOutputStream that allows access to the underlying byte 31 * array. It can be instantiated, and then used over and over as a temporary 32 * buffer between the writeTo methods and the underlying random access file 33 * stream. 34 * <p> 35 * @author Tobias Downer 36 */ 37 38 public final class CellBufferOutputStream extends ByteArrayOutputStream { 39 40 /** 41 * The Constructor. 42 */ 43 public CellBufferOutputStream(int length) { 44 super(length); 45 } 46 47 /** 48 * Returns the underlying stream you should not use the stream while you have 49 * a handle on this reference. 50 */ 51 public byte[] getByteArray() { 52 return buf; 53 } 54 55 /** 56 * Sets the pointer to specified point in the array. 57 */ 58 public void seek(int pointer) { 59 count = pointer; 60 } 61 62 } 63