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
Constructors Constructor Description ByteArrayBufferInput()
Default constructor.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected 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
readPackedInt()
Read an int value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedInt(int)
.long
readPackedLong()
Read a long value using a variable-length storage format as described byWriteBuffer.BufferOutput.writePackedLong(long)
.int
readUnsignedShort()
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, transferTo
-
-
-
-
Method Detail
-
read
public int read() throws IOException
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
public int read(byte[] ab, int of, int cb) throws IOException
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
public byte readByte() throws IOException
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:
EOFException
- if the value could not be read because no more data remains to be readIOException
- if an I/O error occurs
-
readUnsignedShort
public int readUnsignedShort() throws IOException
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:
EOFException
- if the value could not be read because no more data remains to be readIOException
- if an I/O error occurs
-
readInt
public int readInt() throws IOException
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:
EOFException
- if the value could not be read because no more data remains to be readIOException
- if an I/O error occurs
-
readLong
public long readLong() throws IOException
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:
EOFException
- if the value could not be read because no more data remains to be readIOException
- if an I/O error occurs
-
readPackedInt
public int readPackedInt() throws IOException
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
public long readPackedLong() throws IOException
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
protected String convertUTF(int of, int cb) throws IOException
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
-
-