com.sleepycat.util.keyrange
public class KeyRange extends Object
Field Summary | |
---|---|
static byte[] | ZERO_LENGTH_BYTE_ARRAY |
Constructor Summary | |
---|---|
KeyRange(Comparator comparator)
Creates an unconstrained key range. |
Method Summary | |
---|---|
boolean | check(DatabaseEntry key)
Returns whether a given key is within range. |
boolean | check(DatabaseEntry key, boolean inclusive)
Returns whether a given key is within range. |
boolean | checkBegin(DatabaseEntry key, boolean inclusive)
Returns whether the given key is within range with respect to the
beginning of the range.
|
boolean | checkEnd(DatabaseEntry key, boolean inclusive)
Returns whether the given key is within range with respect to the
end of the range. |
int | compare(DatabaseEntry key1, DatabaseEntry key2)
Compares two keys, using the user comparator if there is one. |
static int | compareBytes(byte[] data1, int offset1, int size1, byte[] data2, int offset2, int size2)
Compares two keys as unsigned byte arrays, which is the default
comparison used by JE/DB. |
static DatabaseEntry | copy(DatabaseEntry from)
Returns a copy of an entry. |
static void | copy(DatabaseEntry from, DatabaseEntry to)
Copies one entry to another. |
static byte[] | copyBytes(byte[] bytes)
Copies a byte array. |
static boolean | equalBytes(byte[] data1, int offset1, int size1, byte[] data2, int offset2, int size2)
Compares two byte arrays for equality. |
static boolean | equalBytes(DatabaseEntry e1, DatabaseEntry e2)
Returns the two DatabaseEntry objects have the same data value. |
static byte[] | getByteArray(DatabaseEntry entry)
Returns an entry's byte array, copying it if the entry offset is
non-zero. |
DatabaseEntry | getSingleKey()
Returns the key of a single-key range, or null if not a single-key
range. |
boolean | hasBound()
Returns whether this range has a begin or end bound. |
boolean | isSingleKey()
Returns whether this is a single-key range. |
KeyRange | subRange(DatabaseEntry key)
Creates a range for a single key. |
KeyRange | subRange(DatabaseEntry beginKey, boolean beginInclusive, DatabaseEntry endKey, boolean endInclusive)
Creates a range that is the intersection of this range and the given
range parameters. |
String | toString()
Formats this range as a string for debugging. |
static String | toString(DatabaseEntry dbt)
Converts the byte array of this thang to space-separated integers,
and suffixed by the record number if applicable.
|
The inclusive parameter should be true for checking a key read from the database; this will require that the key is within range. When inclusive=false the key is allowed to be equal to the beginKey for the range; this is used for checking a new exclusive bound of a sub-range.
Note that when inclusive=false and beginInclusive=true our check is not exactly correct because in theory we should allow the key to be "one less" than the existing bound; however, checking for "one less" is impossible so we do the best we can and test the bounds conservatively.
Parameters: dbt the thang to convert. the resulting string.