|
Berkeley DB version 4.5.20 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.sleepycat.util.PackedInteger
public class PackedInteger
Static methods for reading and writing packed integers.
Note that packed integers are not sorted naturally for a byte-by-byte comparison because they have a preceding length and are little endian; therefore, they are typically not used for keys.
Values in the inclusive range [-119,119] are stored in a single byte. For values outside that range, the first byte stores the sign and the number of additional bytes. The additional bytes store (abs(value) - 119) as an unsigned little endian integer.
To read and write packed integer values, call readInt(byte[], int)
and writeInt(byte[], int, int)
. To get the length of a packed integer without reading it, call
getReadIntLength(byte[], int)
. To get the length of an unpacked integer without
writing it, call getWriteIntLength(int)
.
Note that the packed integer format is designed to accomodate long integers using up to 9 bytes of storage. Currently only int values are implemented, but the same format may be used in future for long values.
Field Summary | |
---|---|
static int |
MAX_LENGTH
The maximum number of bytes needed to store an int value (5). |
Constructor Summary | |
---|---|
PackedInteger()
|
Method Summary | |
---|---|
static int |
getReadIntLength(byte[] buf,
int off)
Returns the number of bytes that would be read by readInt(byte[], int) . |
static int |
getWriteIntLength(int value)
Returns the number of bytes that would be written by writeInt(byte[], int, int) . |
static int |
readInt(byte[] buf,
int off)
Reads a packed integer at the given buffer offset and returns it. |
static int |
writeInt(byte[] buf,
int offset,
int value)
Writes a packed integer starting at the given buffer offset and returns the next offset to be written. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
public static final int MAX_LENGTH
Constructor Detail |
---|
public PackedInteger()
Method Detail |
---|
public static int readInt(byte[] buf, int off)
buf
- the buffer to read from.off
- the offset in the buffer at which to start reading.
public static int getReadIntLength(byte[] buf, int off)
readInt(byte[], int)
.
buf
- the buffer to read from.off
- the offset in the buffer at which to start reading.
public static int writeInt(byte[] buf, int offset, int value)
buf
- the buffer to write to.offset
- the offset in the buffer at which to start writing.value
- the integer to be written.
public static int getWriteIntLength(int value)
writeInt(byte[], int, int)
.
value
- the integer to be written.
|
Berkeley DB version 4.5.20 |
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |