public class KeySelector
extends java.lang.Object
KeySelector identifies a particular key in the database. FoundationDB's
lexicographically ordered data model permits finding keys based on their order (for
example, finding the first key in the database greater than a given key). Key selectors
represent a description of a key in the database that could be resolved to an actual
key by Transaction's getKey()
or used directly as the beginning or end of a range in Transaction's
getRange().KeySelector:
add(int) call does not
modify internal state, but returns a new instance.
| Constructor and Description |
|---|
KeySelector(byte[] key,
boolean orEqual,
int offset)
Constructs a new
KeySelector from the given parameters. |
| Modifier and Type | Method and Description |
|---|---|
KeySelector |
add(int offset)
Returns a new
KeySelector offset by a given
number of keys from this one. |
static KeySelector |
firstGreaterOrEqual(byte[] key)
Creates a
KeySelector that picks the first key greater than or equal to the parameter |
static KeySelector |
firstGreaterThan(byte[] key)
Creates a
KeySelector that picks the first key greater than the parameter |
byte[] |
getKey()
Returns a copy of the key that serves as the anchor for this
KeySelector. |
int |
getOffset()
Returns the key offset parameter for this
KeySelector. |
static KeySelector |
lastLessOrEqual(byte[] key)
Creates a
KeySelector that picks the last key less than or equal to the parameter |
static KeySelector |
lastLessThan(byte[] key)
Creates a
KeySelector that picks the last key less than the parameter |
java.lang.String |
toString() |
public KeySelector(byte[] key,
boolean orEqual,
int offset)
KeySelector from the given parameters. Client code
will not generally call this constructor. A key selector can be used to
specify a key that will be resolved at runtime based on a starting key and
an offset. When this is passed as an argument to a Transaction's
getKey() or
getRange()
methods, the key selector will be resolved to a key within the
database. This is done in a manner equivalent to finding the last key that is
less than (or less than or equal to, if orEqual is
true) the base key specified here and then
returning the key that is offset keys greater than that
key.key - the base key to referenceorEqual - true if the key selector should resolve to
key (if key is present) before accounting for the offsetoffset - the offset (in number of keys) that the selector will advance after
resolving to a key based on the key and orEqual parameterspublic static KeySelector lastLessThan(byte[] key)
KeySelector that picks the last key less than the parameterkey - the key to use as the edge of the edge of selection criteriaKeySelectorpublic static KeySelector lastLessOrEqual(byte[] key)
KeySelector that picks the last key less than or equal to the parameterkey - the key to use as the edge of the edge of selection criteriaKeySelectorpublic static KeySelector firstGreaterThan(byte[] key)
KeySelector that picks the first key greater than the parameterkey - the key to use as the edge of the edge of selection criteriaKeySelectorpublic static KeySelector firstGreaterOrEqual(byte[] key)
KeySelector that picks the first key greater than or equal to the parameterkey - the key to use as the edge of the edge of selection criteriaKeySelectorpublic KeySelector add(int offset)
KeySelector offset by a given
number of keys from this one. For example, an offset of 1 means
that the new KeySelector specifies the key in the database
after the key selected by this KeySelector. The offset can be negative;
these will move the selector to previous keys in the database.KeySelector.) For more information see
the KeySelector documentation.offset - the number of keys to offset the KeySelector. This number can be
negative.KeySelector that is offset by a number of keys.public byte[] getKey()
KeySelector. This is
not the key to which this KeySelector would resolve to. For this
function see ReadTransaction.getKey(KeySelector).KeySelector.public java.lang.String toString()
toString in class java.lang.Objectpublic int getOffset()
KeySelector. See
the KeySelector constructor
for more details.KeySelector