java.io.Closeable
, java.lang.AutoCloseable
public class TupleInput extends FastInputStream
InputStream
with DataInput
-like methods for
reading tuple fields. It is used by TupleBinding
.
This class has many methods that have the same signatures as methods in
the DataInput
interface. The reason this class does not
implement DataInput
is because it would break the interface
contract for those methods because of data format differences.
buf, len, mark, off
Constructor | Description |
---|---|
TupleInput(byte[] buffer) |
Creates a tuple input object for reading a byte array of tuple data.
|
TupleInput(byte[] buffer,
int offset,
int length) |
Creates a tuple input object for reading a byte array of tuple data at
a given offset for a given length.
|
TupleInput(TupleOutput output) |
Creates a tuple input object from the data contained in a tuple output
object.
|
Modifier and Type | Method | Description |
---|---|---|
int |
getBigDecimalByteLength() |
Returns the byte length of an unsorted
BigDecimal . |
int |
getBigIntegerByteLength() |
Returns the byte length of a
BigInteger . |
int |
getPackedIntByteLength() |
Returns the byte length of a packed integer.
|
int |
getPackedLongByteLength() |
Returns the byte length of a packed long integer.
|
int |
getSortedBigDecimalByteLength() |
Returns the byte length of a sorted
BigDecimal . |
int |
getSortedPackedIntByteLength() |
Returns the byte length of a sorted packed integer.
|
int |
getSortedPackedLongByteLength() |
Returns the byte length of a sorted packed long integer.
|
int |
getStringByteLength() |
Returns the byte length of a null-terminated UTF string in the data
buffer, including the terminator.
|
java.math.BigDecimal |
readBigDecimal() |
Reads an unsorted
BigDecimal . |
java.math.BigInteger |
readBigInteger() |
Reads a
BigInteger . |
boolean |
readBoolean() |
Reads a boolean (one byte) unsigned value from the buffer and returns
true if it is non-zero and false if it is zero.
|
byte |
readByte() |
Reads a signed byte (one byte) value from the buffer.
|
void |
readBytes(char[] chars) |
Reads the specified number of bytes from the buffer, converting each
unsigned byte value to a character of the resulting array.
|
java.lang.String |
readBytes(int length) |
Reads the specified number of bytes from the buffer, converting each
unsigned byte value to a character of the resulting string.
|
char |
readChar() |
Reads a char (two byte) unsigned value from the buffer.
|
void |
readChars(char[] chars) |
Reads the specified number of characters from the buffer, converting
each two byte unsigned value to a character of the resulting array.
|
java.lang.String |
readChars(int length) |
Reads the specified number of characters from the buffer, converting
each two byte unsigned value to a character of the resulting string.
|
double |
readDouble() |
Reads an unsorted double (eight byte) value from the buffer.
|
float |
readFloat() |
Reads an unsorted float (four byte) value from the buffer.
|
int |
readInt() |
Reads a signed int (four byte) value from the buffer.
|
long |
readLong() |
Reads a signed long (eight byte) value from the buffer.
|
int |
readPackedInt() |
Reads an unsorted packed integer.
|
long |
readPackedLong() |
Reads an unsorted packed long integer.
|
short |
readShort() |
Reads a signed short (two byte) value from the buffer.
|
java.math.BigDecimal |
readSortedBigDecimal() |
Reads a sorted
BigDecimal , with support for correct default
sorting. |
double |
readSortedDouble() |
Reads a sorted double (eight byte) value from the buffer.
|
float |
readSortedFloat() |
Reads a sorted float (four byte) value from the buffer.
|
int |
readSortedPackedInt() |
Reads a sorted packed integer.
|
long |
readSortedPackedLong() |
Reads a sorted packed long integer.
|
java.lang.String |
readString() |
Reads a null-terminated UTF string from the data buffer and converts
the data from UTF to Unicode.
|
void |
readString(char[] chars) |
Reads the specified number of UTF characters string from the data
buffer and converts the data from UTF to Unicode.
|
java.lang.String |
readString(int length) |
Reads the specified number of UTF characters string from the data
buffer and converts the data from UTF to Unicode.
|
int |
readUnsignedByte() |
Reads an unsigned byte (one byte) value from the buffer.
|
long |
readUnsignedInt() |
Reads an unsigned int (four byte) value from the buffer.
|
int |
readUnsignedShort() |
Reads an unsigned short (two byte) value from the buffer.
|
available, getBufferBytes, getBufferLength, getBufferOffset, mark, markSupported, read, read, read, readFast, readFast, readFast, reset, skip, skipFast
public TupleInput(byte[] buffer)
buffer
- is the byte array to be read and should contain data in
tuple format.public TupleInput(byte[] buffer, int offset, int length)
buffer
- is the byte array to be read and should contain data in
tuple format.offset
- is the byte offset at which to begin reading.length
- is the number of bytes to be read.public TupleInput(TupleOutput output)
output
- is the tuple output object containing the data to be read.public final java.lang.String readString() throws java.lang.IndexOutOfBoundsException, java.lang.IllegalArgumentException
TupleOutput.writeString(String)
.java.lang.IndexOutOfBoundsException
- if no null terminating byte is found
in the buffer.java.lang.IllegalArgumentException
- malformed UTF data is encountered.public final char readChar() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeChar(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final boolean readBoolean() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeBoolean(boolean)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final byte readByte() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeByte(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final short readShort() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeShort(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final int readInt() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeInt(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final long readLong() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeLong(long)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final float readFloat() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeFloat(float)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final double readDouble() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeDouble(double)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final float readSortedFloat() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeSortedFloat(float)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final double readSortedDouble() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeSortedDouble(double)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final int readUnsignedByte() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeUnsignedByte(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final int readUnsignedShort() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeUnsignedShort(int)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final long readUnsignedInt() throws java.lang.IndexOutOfBoundsException
TupleOutput.writeUnsignedInt(long)
.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final java.lang.String readBytes(int length) throws java.lang.IndexOutOfBoundsException
TupleOutput.writeBytes(java.lang.String)
.length
- is the number of bytes to be read.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final java.lang.String readChars(int length) throws java.lang.IndexOutOfBoundsException
TupleOutput.writeChars(java.lang.String)
.length
- is the number of characters to be read.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final void readBytes(char[] chars) throws java.lang.IndexOutOfBoundsException
TupleOutput.writeBytes(java.lang.String)
.chars
- is the array to receive the data and whose length is used
to determine the number of bytes to be read.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final void readChars(char[] chars) throws java.lang.IndexOutOfBoundsException
TupleOutput.writeChars(java.lang.String)
.chars
- is the array to receive the data and whose length is used
to determine the number of characters to be read.java.lang.IndexOutOfBoundsException
- if not enough bytes are available in
the buffer.public final java.lang.String readString(int length) throws java.lang.IndexOutOfBoundsException, java.lang.IllegalArgumentException
TupleOutput.writeString(char[])
.length
- is the number of characters to be read.java.lang.IndexOutOfBoundsException
- if no null terminating byte is found
in the buffer.java.lang.IllegalArgumentException
- malformed UTF data is encountered.public final void readString(char[] chars) throws java.lang.IndexOutOfBoundsException, java.lang.IllegalArgumentException
TupleOutput.writeString(char[])
.chars
- is the array to receive the data and whose length is used
to determine the number of characters to be read.java.lang.IndexOutOfBoundsException
- if no null terminating byte is found
in the buffer.java.lang.IllegalArgumentException
- malformed UTF data is encountered.public final int getStringByteLength() throws java.lang.IndexOutOfBoundsException, java.lang.IllegalArgumentException
TupleOutput.writeString(String)
.java.lang.IndexOutOfBoundsException
- if no null terminating byte is found
in the buffer.java.lang.IllegalArgumentException
- malformed UTF data is encountered.public final int readPackedInt()
public final int getPackedIntByteLength()
public final long readPackedLong()
public final int getPackedLongByteLength()
public final int readSortedPackedInt()
public final int getSortedPackedIntByteLength()
public final long readSortedPackedLong()
public final int getSortedPackedLongByteLength()
public final java.math.BigInteger readBigInteger()
BigInteger
.public final int getBigIntegerByteLength()
BigInteger
.public final java.math.BigDecimal readBigDecimal()
BigDecimal
.public final int getBigDecimalByteLength()
BigDecimal
.public final java.math.BigDecimal readSortedBigDecimal()
BigDecimal
, with support for correct default
sorting.public final int getSortedBigDecimalByteLength()
BigDecimal
.Copyright (c) 1996, 2020 Oracle and/or its affiliates. All rights reserved.