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.