Class InputBuffer

  • Direct Known Subclasses:
    InputObjectState

    public class InputBuffer
    extends Object
    An InputBuffer is used to retrieve various Java types from a byte stream created using an OutputBuffer. Similar to java serialization. However, InputBuffers are compatible with OTSArjuna states.
    Since:
    JTS 1.0.
    Version:
    $Id: InputBuffer.java 2342 2006-03-30 13:06:17Z $
    Author:
    Mark Little (mark@arjuna.com)
    • Field Detail

      • _valid

        protected boolean _valid
    • Constructor Detail

      • InputBuffer

        public InputBuffer()
        Create a new buffer.
      • InputBuffer

        public InputBuffer​(byte[] b)
        Create our own copy of the byte array.
      • InputBuffer

        public InputBuffer​(InputBuffer buff)
        Create a new buffer and copy the provided one.
    • Method Detail

      • valid

        public final boolean valid()
        Is the buffer valid?
      • copy

        public void copy​(InputBuffer buff)
        Copy the existing buffer.
      • length

        public final int length()
        Return the length of the byte buffer.
      • buffer

        public final byte[] buffer()
        Return the internal byte buffer.
      • setBuffer

        public final void setBuffer​(byte[] b)
        Set the buffer to be used by this instance.
      • unpackByte

        public final byte unpackByte()
                              throws IOException
        Unpack a byte from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackBytes

        public final byte[] unpackBytes()
                                 throws IOException
        Unpack the next byte array from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackBoolean

        public final boolean unpackBoolean()
                                    throws IOException
        Unpack a boolean from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackChar

        public final char unpackChar()
                              throws IOException
        Unpack a character from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackShort

        public final short unpackShort()
                                throws IOException
        Unpack a short from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackInt

        public final int unpackInt()
                            throws IOException
        Unpack an integer from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackLong

        public final long unpackLong()
                              throws IOException
        Unpack a long from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackFloat

        public final float unpackFloat()
                                throws IOException
        Unpack a float from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackDouble

        public final double unpackDouble()
                                  throws IOException
        Unpack a double from the stream. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • unpackString

        public final String unpackString()
                                  throws IOException
        Unpack a String from the stream. If the next item in the buffer is not of the right type then an IOException is thrown. Currently different from the C++ version in that a distinct new instance will always be returned, rather than a reference to a previously returned object in the case of the "same" string.
        Throws:
        IOException
      • unpackFrom

        public void unpackFrom​(InputBuffer buff)
                        throws IOException
        Unpack a buffer from the provided buffer, and initialise this instance with it. If the next item in the buffer is not of the right type then an IOException is thrown.
        Throws:
        IOException
      • reread

        public final boolean reread()
        Reset the read pointer for this buffer.
      • print

        public void print​(PrintWriter strm)
        Print information about this instance.