Berkeley DB
version 5.2.36

com.sleepycat.bind.tuple
Class TupleInput

java.lang.Object
  extended by java.io.InputStream
      extended by com.sleepycat.util.FastInputStream
          extended by com.sleepycat.bind.tuple.TupleInput
All Implemented Interfaces:
Closeable

public class TupleInput
extends FastInputStream

An 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.

See Also:
Tuple Formats

Field Summary
 
Fields inherited from class com.sleepycat.util.FastInputStream
buf, len, mark, off
 
Constructor Summary
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.
 
Method Summary
 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.
 BigDecimal readBigDecimal()
          Reads an unsorted BigDecimal.
 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.
 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.
 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.
 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.
 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.
 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.
 
Methods inherited from class com.sleepycat.util.FastInputStream
available, getBufferBytes, getBufferLength, getBufferOffset, mark, markSupported, read, read, read, readFast, readFast, readFast, reset, skip, skipFast
 
Methods inherited from class java.io.InputStream
close
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

TupleInput

public TupleInput(byte[] buffer)
Creates a tuple input object for reading a byte array of tuple data. A reference to the byte array will be kept by this object (it will not be copied) and therefore the byte array should not be modified while this object is in use.

Parameters:
buffer - is the byte array to be read and should contain data in tuple format.

TupleInput

public 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. A reference to the byte array will be kept by this object (it will not be copied) and therefore the byte array should not be modified while this object is in use.

Parameters:
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.

TupleInput

public TupleInput(TupleOutput output)
Creates a tuple input object from the data contained in a tuple output object. A reference to the tuple output's byte array will be kept by this object (it will not be copied) and therefore the tuple output object should not be modified while this object is in use.

Parameters:
output - is the tuple output object containing the data to be read.
Method Detail

readString

public final String readString()
                        throws IndexOutOfBoundsException,
                               IllegalArgumentException
Reads a null-terminated UTF string from the data buffer and converts the data from UTF to Unicode. Reads values that were written using TupleOutput.writeString(String).

Returns:
the converted string.
Throws:
IndexOutOfBoundsException - if no null terminating byte is found in the buffer.
IllegalArgumentException - malformed UTF data is encountered.
See Also:
String Formats

readChar

public final char readChar()
                    throws IndexOutOfBoundsException
Reads a char (two byte) unsigned value from the buffer. Reads values that were written using TupleOutput.writeChar(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readBoolean

public final boolean readBoolean()
                          throws IndexOutOfBoundsException
Reads a boolean (one byte) unsigned value from the buffer and returns true if it is non-zero and false if it is zero. Reads values that were written using TupleOutput.writeBoolean(boolean).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readByte

public final byte readByte()
                    throws IndexOutOfBoundsException
Reads a signed byte (one byte) value from the buffer. Reads values that were written using TupleOutput.writeByte(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readShort

public final short readShort()
                      throws IndexOutOfBoundsException
Reads a signed short (two byte) value from the buffer. Reads values that were written using TupleOutput.writeShort(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readInt

public final int readInt()
                  throws IndexOutOfBoundsException
Reads a signed int (four byte) value from the buffer. Reads values that were written using TupleOutput.writeInt(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readLong

public final long readLong()
                    throws IndexOutOfBoundsException
Reads a signed long (eight byte) value from the buffer. Reads values that were written using TupleOutput.writeLong(long).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readFloat

public final float readFloat()
                      throws IndexOutOfBoundsException
Reads an unsorted float (four byte) value from the buffer. Reads values that were written using TupleOutput.writeFloat(float).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Floating Point Formats

readDouble

public final double readDouble()
                        throws IndexOutOfBoundsException
Reads an unsorted double (eight byte) value from the buffer. Reads values that were written using TupleOutput.writeDouble(double).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Floating Point Formats

readSortedFloat

public final float readSortedFloat()
                            throws IndexOutOfBoundsException
Reads a sorted float (four byte) value from the buffer. Reads values that were written using TupleOutput.writeSortedFloat(float).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Floating Point Formats

readSortedDouble

public final double readSortedDouble()
                              throws IndexOutOfBoundsException
Reads a sorted double (eight byte) value from the buffer. Reads values that were written using TupleOutput.writeSortedDouble(double).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Floating Point Formats

readUnsignedByte

public final int readUnsignedByte()
                           throws IndexOutOfBoundsException
Reads an unsigned byte (one byte) value from the buffer. Reads values that were written using TupleOutput.writeUnsignedByte(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readUnsignedShort

public final int readUnsignedShort()
                            throws IndexOutOfBoundsException
Reads an unsigned short (two byte) value from the buffer. Reads values that were written using TupleOutput.writeUnsignedShort(int).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readUnsignedInt

public final long readUnsignedInt()
                           throws IndexOutOfBoundsException
Reads an unsigned int (four byte) value from the buffer. Reads values that were written using TupleOutput.writeUnsignedInt(long).

Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readBytes

public final String readBytes(int length)
                       throws IndexOutOfBoundsException
Reads the specified number of bytes from the buffer, converting each unsigned byte value to a character of the resulting string. Reads values that were written using TupleOutput.writeBytes(java.lang.String).

Parameters:
length - is the number of bytes to be read.
Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readChars

public final String readChars(int length)
                       throws IndexOutOfBoundsException
Reads the specified number of characters from the buffer, converting each two byte unsigned value to a character of the resulting string. Reads values that were written using TupleOutput.writeChars(java.lang.String).

Parameters:
length - is the number of characters to be read.
Returns:
the value read from the buffer.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readBytes

public final void readBytes(char[] chars)
                     throws IndexOutOfBoundsException
Reads the specified number of bytes from the buffer, converting each unsigned byte value to a character of the resulting array. Reads values that were written using TupleOutput.writeBytes(java.lang.String).

Parameters:
chars - is the array to receive the data and whose length is used to determine the number of bytes to be read.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readChars

public final void readChars(char[] chars)
                     throws IndexOutOfBoundsException
Reads the specified number of characters from the buffer, converting each two byte unsigned value to a character of the resulting array. Reads values that were written using TupleOutput.writeChars(java.lang.String).

Parameters:
chars - is the array to receive the data and whose length is used to determine the number of characters to be read.
Throws:
IndexOutOfBoundsException - if not enough bytes are available in the buffer.
See Also:
Integer Formats

readString

public final String readString(int length)
                        throws IndexOutOfBoundsException,
                               IllegalArgumentException
Reads the specified number of UTF characters string from the data buffer and converts the data from UTF to Unicode. Reads values that were written using TupleOutput.writeString(char[]).

Parameters:
length - is the number of characters to be read.
Returns:
the converted string.
Throws:
IndexOutOfBoundsException - if no null terminating byte is found in the buffer.
IllegalArgumentException - malformed UTF data is encountered.
See Also:
String Formats

readString

public final void readString(char[] chars)
                      throws IndexOutOfBoundsException,
                             IllegalArgumentException
Reads the specified number of UTF characters string from the data buffer and converts the data from UTF to Unicode. Reads values that were written using TupleOutput.writeString(char[]).

Parameters:
chars - is the array to receive the data and whose length is used to determine the number of characters to be read.
Throws:
IndexOutOfBoundsException - if no null terminating byte is found in the buffer.
IllegalArgumentException - malformed UTF data is encountered.
See Also:
String Formats

getStringByteLength

public final int getStringByteLength()
                              throws IndexOutOfBoundsException,
                                     IllegalArgumentException
Returns the byte length of a null-terminated UTF string in the data buffer, including the terminator. Used with string values that were written using TupleOutput.writeString(String).

Throws:
IndexOutOfBoundsException - if no null terminating byte is found in the buffer.
IllegalArgumentException - malformed UTF data is encountered.
See Also:
String Formats

readPackedInt

public final int readPackedInt()
Reads an unsorted packed integer.

See Also:
Integer Formats

getPackedIntByteLength

public final int getPackedIntByteLength()
Returns the byte length of a packed integer.

See Also:
Integer Formats

readPackedLong

public final long readPackedLong()
Reads an unsorted packed long integer.

See Also:
Integer Formats

getPackedLongByteLength

public final int getPackedLongByteLength()
Returns the byte length of a packed long integer.

See Also:
Integer Formats

readSortedPackedInt

public final int readSortedPackedInt()
Reads a sorted packed integer.

See Also:
Integer Formats

getSortedPackedIntByteLength

public final int getSortedPackedIntByteLength()
Returns the byte length of a sorted packed integer.

See Also:
Integer Formats

readSortedPackedLong

public final long readSortedPackedLong()
Reads a sorted packed long integer.

See Also:
Integer Formats

getSortedPackedLongByteLength

public final int getSortedPackedLongByteLength()
Returns the byte length of a sorted packed long integer.

See Also:
Integer Formats

readBigInteger

public final BigInteger readBigInteger()
Reads a BigInteger.

See Also:
Integer Formats

getBigIntegerByteLength

public final int getBigIntegerByteLength()
Returns the byte length of a BigInteger.

See Also:
Integer Formats

readBigDecimal

public final BigDecimal readBigDecimal()
Reads an unsorted BigDecimal.

See Also:
BigDecimal Formats

getBigDecimalByteLength

public final int getBigDecimalByteLength()
Returns the byte length of an unsorted BigDecimal.

See Also:
BigDecimal Formats

readSortedBigDecimal

public final BigDecimal readSortedBigDecimal()
Reads a sorted BigDecimal, with support for correct default sorting.

See Also:
BigDecimal Formats

getSortedBigDecimalByteLength

public final int getSortedBigDecimalByteLength()
Returns the byte length of a sorted BigDecimal.

See Also:
BigDecimal Formats

Berkeley DB
version 5.2.36

Copyright (c) 1996, 2011 Oracle and/or its affiliates. All rights reserved.