Inheritance diagram for com::sleepycat::bind::tuple::TupleOutput:
Public Member Functions | |
TupleOutput () | |
TupleOutput (byte[] buffer) | |
final TupleOutput | writeBytes (String val) |
final TupleOutput | writeChars (String val) |
final TupleOutput | writeString (String val) |
final TupleOutput | writeChar (int val) |
final TupleOutput | writeBoolean (boolean val) |
final TupleOutput | writeByte (int val) |
final TupleOutput | writeShort (int val) |
final TupleOutput | writeInt (int val) |
final TupleOutput | writeLong (long val) |
final TupleOutput | writeFloat (float val) |
final TupleOutput | writeDouble (double val) |
final TupleOutput | writeBytes (char[] chars) |
final TupleOutput | writeChars (char[] chars) |
final TupleOutput | writeString (char[] chars) |
final TupleOutput | writeUnsignedByte (int val) |
final TupleOutput | writeUnsignedShort (int val) |
final TupleOutput | writeUnsignedInt (long val) |
Static Package Attributes | |
static final int | NULL_STRING_UTF_VALUE = ((byte) 0xFF) |
OutputStream
with DataOutput
-like methods for writing tuple fields. It is used by TupleBinding
.This class has many methods that have the same signatures as methods in the java.io.DataOutput interface. The reason this class does not implement java.io.DataOutput is because it would break the interface contract for those methods because of data format differences.
Signed numbers are stored in the buffer in MSB (most significant byte first) order with their sign bit (high-order bit) inverted to cause negative numbers to be sorted first when comparing values as unsigned byte arrays, as done in a database. Unsigned numbers, including characters, are stored in MSB order with no change to their sign bit.
Strings and character arrays are stored either as a fixed length array of unicode characters, where the length must be known by the application, or as a null-terminated UTF byte array.
Floats and doubles are stored in standard Java integer-bit representation (IEEE 754). Non-negative numbers are correctly ordered by numeric value. However, negative numbers are not correctly ordered; therefore, if you use negative floating point numbers in a key, you'll need to implement and configure a custom comparator to get correct numeric ordering.
Definition at line 56 of file TupleOutput.java.
|
Creates a tuple output object for writing a byte array of tuple data. Definition at line 67 of file TupleOutput.java. |
|
Creates a tuple output object for writing a byte array of tuple data, using a given buffer. A new buffer will be allocated only if the number of bytes needed is greater than the length of this buffer. A reference to the byte array will be kept by this object and therefore the byte array should not be modified while this object is in use.
Definition at line 81 of file TupleOutput.java. |
|
Writes a boolean (one byte) unsigned value to the buffer, writing one if the value is true and zero if it is false. Writes values that can be read using TupleInput#readBoolean.
Definition at line 170 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). Referenced by com::sleepycat::bind::tuple::BooleanBinding::objectToEntry(). |
|
Writes an signed byte (one byte) value to the buffer. Writes values that can be read using TupleInput#readByte.
Definition at line 184 of file TupleOutput.java. References writeUnsignedByte(). Referenced by com::sleepycat::bind::tuple::ByteBinding::objectToEntry(). |
|
Writes the specified bytes to the buffer, converting each character to an unsigned byte value. Writes values that can be read using TupleInput#readBytes. Only characters with values below 0x100 may be written using this method, since the high-order 8 bits of all characters are discarded.
Definition at line 279 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). |
|
Writes the specified bytes to the buffer, converting each character to an unsigned byte value. Writes values that can be read using TupleInput#readBytes. Only characters with values below 0x100 may be written using this method, since the high-order 8 bits of all characters are discarded.
Definition at line 101 of file TupleOutput.java. |
|
Writes a char (two byte) unsigned value to the buffer. Writes values that can be read using TupleInput#readChar.
Definition at line 154 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). Referenced by com::sleepycat::bind::tuple::CharacterBinding::objectToEntry(). |
|
Writes the specified characters to the buffer, converting each character to a two byte unsigned value. Writes values that can be read using TupleInput#readChars.
Definition at line 298 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). |
|
Writes the specified characters to the buffer, converting each character to a two byte unsigned value. Writes values that can be read using TupleInput#readChars.
Definition at line 118 of file TupleOutput.java. |
|
Writes an signed double (eight byte) value to the buffer. Writes values that can be read using TupleInput#readDouble.
Definition at line 258 of file TupleOutput.java. Referenced by com::sleepycat::bind::tuple::DoubleBinding::objectToEntry(). |
|
Writes an signed float (four byte) value to the buffer. Writes values that can be read using TupleInput#readFloat.
Definition at line 242 of file TupleOutput.java. References writeUnsignedInt(). Referenced by com::sleepycat::bind::tuple::FloatBinding::objectToEntry(). |
|
Writes an signed int (four byte) value to the buffer. Writes values that can be read using TupleInput#readInt.
Definition at line 212 of file TupleOutput.java. References writeUnsignedInt(). Referenced by com::sleepycat::bind::tuple::IntegerBinding::objectToEntry(). |
|
Writes an signed long (eight byte) value to the buffer. Writes values that can be read using TupleInput#readLong.
Definition at line 226 of file TupleOutput.java. Referenced by com::sleepycat::bind::tuple::LongBinding::objectToEntry(). |
|
Writes an signed short (two byte) value to the buffer. Writes values that can be read using TupleInput#readShort.
Definition at line 198 of file TupleOutput.java. References writeUnsignedShort(). Referenced by com::sleepycat::bind::tuple::ShortBinding::objectToEntry(). |
|
Writes the specified characters to the buffer, converting each character to UTF format. Note that zero (0x0000) character values are encoded as non-zero values. Writes values that can be read using TupleInput#readString(int) or TupleInput#readString(char[]).
Definition at line 320 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::addSize(), com::sleepycat::util::FastOutputStream::getBufferBytes(), com::sleepycat::util::FastOutputStream::getBufferLength(), and com::sleepycat::util::FastOutputStream::makeSpace(). |
|
|
Writes an unsigned byte (one byte) value to the buffer. Writes values that can be read using TupleInput#readUnsignedByte.
Definition at line 342 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). Referenced by writeByte(). |
|
Writes an unsigned int (four byte) value to the buffer. Writes values that can be read using TupleInput#readUnsignedInt.
Definition at line 373 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). Referenced by writeFloat(), and writeInt(). |
|
Writes an unsigned short (two byte) value to the buffer. Writes values that can be read using TupleInput#readUnsignedShort.
Definition at line 357 of file TupleOutput.java. References com::sleepycat::util::FastOutputStream::writeFast(). Referenced by writeShort(). |
|
We represent a null string as a single FF UTF character, which cannot occur in a UTF encoded string. Definition at line 62 of file TupleOutput.java. Referenced by writeString(). |