/* * `gnu.iou' * Copyright (C) 2006 John Pritchard. * * This program is 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; either version 2 of * the License, or (at your option) any later version. * * This program 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, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA * 02111-1307 USA */ package gnu.iou ; /** * Wrapper for <tt>`bbuf'</tt> exporting standard input and data APIs. * * @author John Pritchard (john@syntelos.org) * * @see bbuf * @see bbi */ public class bbid extends bbi implements java.io.DataInput { public bbid( int capacity){ super(capacity); } public bbid(){ super(); } public bbid( bbuf buf){ super(buf); } public bbid( byte[] src){ super(src); } /** * Read `many' bytes from the input stream `src' into this buffer. */ public bbid( java.io.InputStream src, int many) throws java.io.IOException { super(src,many); } public final void readFully(byte b[]) throws java.io.IOException { this.readFully(b, 0, b.length); } public final void readFully(byte b[], int off, int len) throws java.io.IOException { if (len > this.read(b, 0, b.length)) throw new java.io.EOFException(); else return; } public final int skipBytes(int n) throws java.io.IOException { return (int)this.skip(n); } public final boolean readBoolean() throws java.io.IOException { int a = this.read(); if (0 > a) throw new java.io.EOFException(); else return (a != 0); } public final byte readByte() throws java.io.IOException { int a = this.read(); if (0 > a) throw new java.io.EOFException(); return (byte)(a); } public final int readUnsignedByte() throws java.io.IOException { int a = this.read(); if (0 > a) throw new java.io.EOFException(); else return a; } public final short readShort() throws java.io.IOException { return (short)this.readUnsignedShort(); } public final int readUnsignedShort() throws java.io.IOException { int a = this.read(); if (0 > a) throw new java.io.EOFException(); else { int b = this.read(); if (0 > b) throw new java.io.EOFException(); else { int re = (a << 8)+(b); return re; } } } public final char readChar() throws java.io.IOException { return (char)this.readUnsignedShort(); } public final int readInt() throws java.io.IOException { int a = this.read(); if (0 > a) throw new java.io.EOFException(); else { int b = this.read(); if (0 > b) throw new java.io.EOFException(); else { int c = this.read(); if (0 > c) throw new java.io.EOFException(); else { int d = this.read(); if (0 > d) throw new java.io.EOFException(); else { int re = (a << 24)+(b << 16)+(c << 8)+(d); return re; } } } } } public final long readLong() throws java.io.IOException { long a = this.read(); if (0L > a) throw new java.io.EOFException(); else { long b = this.read(); if (0L > b) throw new java.io.EOFException(); else { long c = this.read(); if (0L > c) throw new java.io.EOFException(); else { long d = this.read(); if (0L > d) throw new java.io.EOFException(); else { long e = this.read(); if (0L > e) throw new java.io.EOFException(); else { long f = this.read(); if (0L > f) throw new java.io.EOFException(); else { long g = this.read(); if (0L > g) throw new java.io.EOFException(); else { long h = this.read(); if (0L > h) throw new java.io.EOFException(); else { long re = (a << 56)+(b << 48)+(c << 40)+(d << 32)+(e << 24)+(f << 16)+(g << 8)+(h); return re; } } } } } } } } } public final float readFloat() throws java.io.IOException { int bits = this.readInt(); return java.lang.Float.intBitsToFloat(bits); } public final double readDouble() throws java.io.IOException { long bits = this.readLong(); return java.lang.Double.longBitsToDouble(bits); } public final String readLine() throws java.io.IOException { bbuf in = this.getByteBuffer(); return in.readLine(); } public final String readUTF() throws java.io.IOException { return java.io.DataInputStream.readUTF(this); } }