Class InputBuffer

java.lang.Object
com.arjuna.ats.arjuna.state.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 Summary

    Fields
    Modifier and Type
    Field
    Description
    protected boolean
     
  • Constructor Summary

    Constructors
    Constructor
    Description
    Create a new buffer.
    InputBuffer(byte[] b)
    Create our own copy of the byte array.
    Create a new buffer and copy the provided one.
  • Method Summary

    Modifier and Type
    Method
    Description
    final byte[]
    Return the internal byte buffer.
    void
    Copy the existing buffer.
    final int
    Return the length of the byte buffer.
    void
    Print information about this instance.
    final boolean
    Reset the read pointer for this buffer.
    final void
    setBuffer(byte[] b)
    Set the buffer to be used by this instance.
    final boolean
    Unpack a boolean from the stream.
    final byte
    Unpack a byte from the stream.
    final byte[]
    Unpack the next byte array from the stream.
    final char
    Unpack a character from the stream.
    final double
    Unpack a double from the stream.
    final float
    Unpack a float from the stream.
    void
    Unpack a buffer from the provided buffer, and initialise this instance with it.
    final int
    Unpack an integer from the stream.
    final long
    Unpack a long from the stream.
    final short
    Unpack a short from the stream.
    final String
    Unpack a String from the stream.
    final boolean
    Is the buffer valid?

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • Field Details

    • _valid

      protected boolean _valid
  • Constructor Details

    • 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 Details

    • 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.