|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.sleepycat.collections.KeyRange
class KeyRange
Encapsulates a key range for use with a RangeCursor.
Field Summary | |
---|---|
(package private) boolean |
beginInclusive
|
(package private) DatabaseEntry |
beginKey
|
(package private) Comparator |
comparator
|
(package private) boolean |
endInclusive
|
(package private) DatabaseEntry |
endKey
|
(package private) boolean |
singleKey
|
Constructor Summary | |
---|---|
KeyRange(Comparator comparator)
Creates an unconstrained key range. |
Method Summary | |
---|---|
(package private) boolean |
check(DatabaseEntry key)
Returns whether a given key is within range. |
(package private) boolean |
check(DatabaseEntry key,
boolean inclusive)
Returns whether a given key is within range. |
(package private) boolean |
checkBegin(DatabaseEntry key,
boolean inclusive)
Returns whether the given key is within range with respect to the beginning of the range. |
(package private) boolean |
checkEnd(DatabaseEntry key,
boolean inclusive)
Returns whether the given key is within range with respect to the end of the range. |
(package private) int |
compare(DatabaseEntry key1,
DatabaseEntry key2)
Compares two keys, using the user comparator if there is one. |
(package private) 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. |
(package private) static DatabaseEntry |
copy(DatabaseEntry from)
Returns a copy of an entry. |
(package private) static void |
copy(DatabaseEntry from,
DatabaseEntry to)
Copies one entry to another. |
(package private) static boolean |
equalBytes(DatabaseEntry e1,
DatabaseEntry e2)
Returns the two DatabaseEntry objects have the same data value. |
(package private) static byte[] |
getByteArray(DatabaseEntry entry)
Returns an entry's byte array, copying it if the entry offset is non-zero. |
(package private) DatabaseEntry |
getSingleKey()
Returns the key of a single-key range, or null if not a single-key range. |
(package private) boolean |
hasBound()
Returns whether this range has a begin or end bound. |
(package private) KeyRange |
subRange(DatabaseEntry key)
Creates a range for a single key. |
(package private) 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. |
(package private) static String |
toString(DatabaseEntry dbt)
Converts the byte array of this thang to space-separated integers, and suffixed by the record number if applicable. |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
Comparator comparator
DatabaseEntry beginKey
DatabaseEntry endKey
boolean singleKey
boolean beginInclusive
boolean endInclusive
Constructor Detail |
---|
KeyRange(Comparator comparator)
Method Detail |
---|
KeyRange subRange(DatabaseEntry key) throws KeyRangeException
KeyRangeException
KeyRange subRange(DatabaseEntry beginKey, boolean beginInclusive, DatabaseEntry endKey, boolean endInclusive) throws KeyRangeException
KeyRangeException
final DatabaseEntry getSingleKey()
final boolean hasBound()
public String toString()
toString
in class Object
boolean check(DatabaseEntry key)
boolean check(DatabaseEntry key, boolean inclusive)
boolean checkBegin(DatabaseEntry key, boolean inclusive)
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.
boolean checkEnd(DatabaseEntry key, boolean inclusive)
int compare(DatabaseEntry key1, DatabaseEntry key2)
static int compareBytes(byte[] data1, int offset1, int size1, byte[] data2, int offset2, int size2)
static DatabaseEntry copy(DatabaseEntry from)
static void copy(DatabaseEntry from, DatabaseEntry to)
static byte[] getByteArray(DatabaseEntry entry)
static boolean equalBytes(DatabaseEntry e1, DatabaseEntry e2)
static String toString(DatabaseEntry dbt)
dbt
- the thang to convert.the
- resulting string.
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |