/* Copyright 2006 Rene Grothmann, modified by Eric Hakenholz This file is part of C.a.R. software. C.a.R. is a free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, version 3 of the License. C.a.R. is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with this program. If not, see . */ package rene.util; public class SimpleByteBuffer { private int Size, N; private byte Buf[]; public SimpleByteBuffer(final int size) { Size = size; Buf = new byte[size]; N = 0; } public SimpleByteBuffer(final byte b[]) { Size = b.length; Buf = b; N = 0; } public void append(final byte c) { if (N < Size) Buf[N++] = c; else { Size = 2 * Size; final byte NewBuf[] = new byte[Size]; for (int i = 0; i < N; i++) NewBuf[i] = Buf[i]; Buf = NewBuf; Buf[N++] = c; } } public void clear() { N = 0; } public byte[] getBuffer() { return Buf; } public byte[] getByteArray() { final byte b[] = new byte[N]; for (int i = 0; i < N; i++) b[i] = Buf[i]; return b; } public int size() { return N; } }