Package com.tangosol.io
Class AbstractByteArrayReadBuffer.ByteArrayBufferInput
java.lang.Object
java.io.InputStream
com.tangosol.io.AbstractReadBuffer.AbstractBufferInput
com.tangosol.io.AbstractByteArrayReadBuffer.ByteArrayBufferInput
- All Implemented Interfaces:
com.oracle.coherence.common.io.InputStreaming
,InputStreaming
,ReadBuffer.BufferInput
,Closeable
,DataInput
,AutoCloseable
- Enclosing class:
AbstractByteArrayReadBuffer
public final class AbstractByteArrayReadBuffer.ByteArrayBufferInput
extends AbstractReadBuffer.AbstractBufferInput
This is a simple implementation of the BufferInput interface on top of
a byte array.
This implementation extends InputStream, but only so that it can be passed to anything that takes an InputStream.
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionprotected String
convertUTF
(int of, int cb) Convert a UTF-8 encoded section of the binary stream into a String.int
read()
Read the next byte of data from the InputStream.int
read
(byte[] ab, int of, int cb) Read up tocb
bytes from the input stream and store them into the passed arrayab
starting at offsetof
.byte
readByte()
Read a byte value.int
readInt()
Read an int value.long
readLong()
Read a long value.int
Read an int value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedInt(int)
.long
Read a long value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedLong(long)
.int
Read an unsigned short value.Methods inherited from class com.tangosol.io.AbstractReadBuffer.AbstractBufferInput
adjustOffsetInternal, available, close, getBuffer, getCharBuf, getMarkInternal, getObjectInputFilter, getOffset, mark, markSupported, read, readBoolean, readBuffer, readChar, readDouble, readFloat, readFully, readFully, readLine, readSafeUTF, readShort, readUnsignedByte, readUTF, readUTF, reset, setMarkInternal, setObjectInputFilter, setOffset, setOffsetInternal, skip, skipBytes
Methods inherited from class java.io.InputStream
nullInputStream, readAllBytes, readNBytes, readNBytes, skipNBytes, transferTo
-
Constructor Details
-
ByteArrayBufferInput
public ByteArrayBufferInput()Default constructor.
-
-
Method Details
-
read
Read the next byte of data from the InputStream. The value byte is returned as anint
in the range0
to255
. If the end of the stream has been reached, the value-1
is returned.This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.
- Specified by:
read
in interfacecom.oracle.coherence.common.io.InputStreaming
- Overrides:
read
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- the next byte of data, or
-1
if the end of the stream has been reached - Throws:
IOException
- if an I/O error occurs
-
read
Read up tocb
bytes from the input stream and store them into the passed arrayab
starting at offsetof
. The number of bytes actually read is returned.This method blocks until input data is available, the end of the stream is detected, or an exception is thrown.
- Specified by:
read
in interfacecom.oracle.coherence.common.io.InputStreaming
- Overrides:
read
in classAbstractReadBuffer.AbstractBufferInput
- Parameters:
ab
- the array to store the bytes which are read from the streamof
- the offset into the array that the read bytes will be storedcb
- the maximum number of bytes to read- Returns:
- the number of bytes read from the stream, or
-1
if no bytes were read from the stream because the end of the stream had been reached - Throws:
IOException
- if an I/O error occurs
-
readByte
Read a byte value.This method is the counterpart for the
DataOutput.writeByte(int)
method.- Specified by:
readByte
in interfaceDataInput
- Specified by:
readByte
in interfaceReadBuffer.BufferInput
- Overrides:
readByte
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- a
byte
value - Throws:
IOException
- if an I/O error occurs
-
readUnsignedShort
Read an unsigned short value.This method is the counterpart for the
DataOutput.writeShort(int)
method when it is used with unsigned 16-bit values.- Specified by:
readUnsignedShort
in interfaceDataInput
- Specified by:
readUnsignedShort
in interfaceReadBuffer.BufferInput
- Overrides:
readUnsignedShort
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- an
int
value in the range of 0x0000 to 0xFFFF - Throws:
IOException
- if an I/O error occurs
-
readInt
Read an int value.This method is the counterpart for the
DataOutput.writeInt(int)
method.- Specified by:
readInt
in interfaceDataInput
- Specified by:
readInt
in interfaceReadBuffer.BufferInput
- Overrides:
readInt
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- an
int
value - Throws:
IOException
- if an I/O error occurs
-
readLong
Read a long value.This method is the counterpart for the
DataOutput.writeLong(long)
method.- Specified by:
readLong
in interfaceDataInput
- Specified by:
readLong
in interfaceReadBuffer.BufferInput
- Overrides:
readLong
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- a
long
value - Throws:
IOException
- if an I/O error occurs
-
readPackedInt
Read an int value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedInt(int)
.- Specified by:
readPackedInt
in interfaceReadBuffer.BufferInput
- Overrides:
readPackedInt
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- an int value
- Throws:
IOException
- if an I/O error occurs
-
readPackedLong
Read a long value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedLong(long)
.- Specified by:
readPackedLong
in interfaceReadBuffer.BufferInput
- Overrides:
readPackedLong
in classAbstractReadBuffer.AbstractBufferInput
- Returns:
- a long value
- Throws:
IOException
- if an I/O error occurs
-
convertUTF
Convert a UTF-8 encoded section of the binary stream into a String.- Overrides:
convertUTF
in classAbstractReadBuffer.AbstractBufferInput
- Parameters:
of
- the offset within the streamcb
- the length in bytes within the stream- Returns:
- the String value
- Throws:
IOException
- if an I/O or conversion exception occurs, such as UTFDataFormatException
-