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 criteriaKeySelector
public 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 criteriaKeySelector
public 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 criteriaKeySelector
public 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 criteriaKeySelector
public 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.Object
public int getOffset()
KeySelector
. See
the KeySelector constructor
for more details.KeySelector