Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## com.arjuna.ats.arjuna.state
Class OutputBuffer

    java.lang.Object
      com.arjuna.ats.arjuna.state.OutputBuffer

Direct Known Subclasses:
  OutputObjectState

public class OutputBuffer
extends java.lang.Object

An OuptputBuffer is used to store various Java types as a byte stream. Similar to java serialization. However, OutputBuffers are compatible with OTSArjuna states.

Since:
  JTS 1.0.
Version:
  $Id: OutputBuffer.java 2342 2006-03-30 13:06:17Z $
Author:
  Mark Little (mark@arjuna.com)

Field Summary
`protected boolean` | `_valid`
`protected static int` | `ALIGNMENT`
`protected static int` | `headerSize`

Constructor Summary
`OutputBuffer()` Create a new buffer.
`OutputBuffer(byte[] b)` Create a new buffer using the provided byte array.
`OutputBuffer(int buffSize)` Create a new buffer with the specified initial size.
`OutputBuffer(OutputBuffer copyFrom)` Create a new OutputBuffer and initialise its state with a copy of the provided buffer.

Method Summary
`byte[]` | `buffer()` Return the byte array used to store data types.
`void` | `copy(OutputBuffer b)` Copy the provided OutputBuffer and overwrite the current instance.
`int` | `length()` Return the length of the byte array being used to store data types.
`void` | `packBoolean(boolean b)` Pack the boolean.
`void` | `packByte(byte b)` Pack a byte.
`void` | `packBytes(byte[] b)` Pack the array of bytes.
`void` | `packChar(char c)` Pack the character.
`void` | `packDouble(double d)` Pack the double.
`void` | `packFloat(float f)` Pack the float.
`void` | `packInt(int i)` Pack the integer.
`void` | `packInto(OutputBuffer buff)` Pack this buffer into that provided.
`void` | `packLong(long l)` Pack the long.
`void` | `packShort(short s)` Pack the short.
`void` | `packString(java.lang.String s)` Pack the String.
`void` | `print(java.io.PrintWriter strm)` Print out information about this instance.
`void` | `reset()` Clear the OutputBuffer and rewind the pack pointer.
`boolean` | `rewrite()` Reset the pack pointer.
`boolean` | `valid()` Is the buffer valid?

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Field Detail

### _valid

    protected boolean _valid

### headerSize

    protected static final int headerSize

See Also:
  Constant Field Values

### ALIGNMENT

    protected static final int ALIGNMENT

See Also:
  Constant Field Values

Constructor Detail

### OutputBuffer

    public OutputBuffer()

  Create a new buffer.

### OutputBuffer

    public OutputBuffer(int buffSize)

  Create a new buffer with the specified initial size. If required, the internal byte array will be automatically increased in size.

### OutputBuffer

    public OutputBuffer(byte[] b)

  Create a new buffer using the provided byte array.

### OutputBuffer

    public OutputBuffer(OutputBuffer copyFrom)

  Create a new OutputBuffer and initialise its state with a copy of the provided buffer.

Method Detail

### valid

    public final boolean valid()

  Is the buffer valid?

### buffer

    public final byte[] buffer()

  Return the byte array used to store data types.

### length

    public final int length()

  Return the length of the byte array being used to store data types.

### copy

    public void copy(OutputBuffer b)

  Copy the provided OutputBuffer and overwrite the current instance.

### reset

    public final void reset()
                     throws java.io.IOException

  Clear the OutputBuffer and rewind the pack pointer.

  Throws:
    `java.io.IOException`

### packByte

    public final void packByte(byte b)
                        throws java.io.IOException

  Pack a byte. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packBytes

    public final void packBytes(byte[] b)
                         throws java.io.IOException

  Pack the array of bytes. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packBoolean

    public final void packBoolean(boolean b)
                           throws java.io.IOException

  Pack the boolean. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packChar

    public final void packChar(char c)
                        throws java.io.IOException

  Pack the character. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packShort

    public final void packShort(short s)
                         throws java.io.IOException

  Pack the short. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packInt

    public final void packInt(int i)
                       throws java.io.IOException

  Pack the integer. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packLong

    public final void packLong(long l)
                        throws java.io.IOException

  Pack the long. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packFloat

    public final void packFloat(float f)
                         throws java.io.IOException

  Pack the float. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packDouble

    public final void packDouble(double d)
                          throws java.io.IOException

  Pack the double. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packString

    public final void packString(java.lang.String s)
                          throws java.io.IOException

  Pack the String. Currently different from the C++ version in that a copy of the string will always be packed, even if we have previously seen this object. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### packInto

    public void packInto(OutputBuffer buff)
                  throws java.io.IOException

  Pack this buffer into that provided. If the buffer is invalid then an IOException is thrown.

  Throws:
    `java.io.IOException`

### print

    public void print(java.io.PrintWriter strm)

  Print out information about this instance.

### rewrite

    public final boolean rewrite()

  Reset the pack pointer.

Overview | Package | Class | Tree | Deprecated | Index | Help
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD