Package com.arjuna.ats.arjuna.state
Class InputBuffer
java.lang.Object
com.arjuna.ats.arjuna.state.InputBuffer
- Direct Known Subclasses:
InputObjectState
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
-
Constructor Summary
ConstructorDescriptionCreate a new buffer.InputBuffer
(byte[] b) Create our own copy of the byte array.InputBuffer
(InputBuffer buff) Create a new buffer and copy the provided one. -
Method Summary
Modifier and TypeMethodDescriptionfinal byte[]
buffer()
Return the internal byte buffer.void
copy
(InputBuffer buff) Copy the existing buffer.final int
length()
Return the length of the byte buffer.void
print
(PrintWriter strm) Print information about this instance.final boolean
reread()
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
unpackFrom
(InputBuffer buff) 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
valid()
Is the buffer valid?
-
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
Create a new buffer and copy the provided one.
-
-
Method Details
-
valid
public final boolean valid()Is the buffer valid? -
copy
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
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
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
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
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
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
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
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
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
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
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
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
Print information about this instance.
-