Package org.lmdbjava
Class KeyRange<T>
- java.lang.Object
-
- org.lmdbjava.KeyRange<T>
-
- Type Parameters:
T
- buffer type
public final class KeyRange<T> extends Object
Limits the range and direction of keys to iterate.Immutable once created (although the buffers themselves may not be).
-
-
Constructor Summary
Constructors Constructor Description KeyRange(KeyRangeType type, T start, T stop)
Construct a key range.
-
Method Summary
-
-
-
Constructor Detail
-
KeyRange
public KeyRange(KeyRangeType type, T start, T stop)
Construct a key range.End user code may find it more expressive to use one of the static methods provided on this class.
- Parameters:
type
- key typestart
- start key (required if applicable for the passed range type)stop
- stop key (required if applicable for the passed range type)
-
-
Method Detail
-
all
public static <T> KeyRange<T> all()
Create aKeyRangeType.FORWARD_ALL
range.- Type Parameters:
T
- buffer type- Returns:
- a key range (never null)
-
allBackward
public static <T> KeyRange<T> allBackward()
Create aKeyRangeType.BACKWARD_ALL
range.- Type Parameters:
T
- buffer type- Returns:
- a key range (never null)
-
atLeast
public static <T> KeyRange<T> atLeast(T start)
Create aKeyRangeType.FORWARD_AT_LEAST
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)- Returns:
- a key range (never null)
-
atLeastBackward
public static <T> KeyRange<T> atLeastBackward(T start)
Create aKeyRangeType.BACKWARD_AT_LEAST
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)- Returns:
- a key range (never null)
-
atMost
public static <T> KeyRange<T> atMost(T stop)
Create aKeyRangeType.FORWARD_AT_MOST
range.- Type Parameters:
T
- buffer type- Parameters:
stop
- stop key (required)- Returns:
- a key range (never null)
-
atMostBackward
public static <T> KeyRange<T> atMostBackward(T stop)
Create aKeyRangeType.BACKWARD_AT_MOST
range.- Type Parameters:
T
- buffer type- Parameters:
stop
- stop key (required)- Returns:
- a key range (never null)
-
closed
public static <T> KeyRange<T> closed(T start, T stop)
Create aKeyRangeType.FORWARD_CLOSED
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
closedBackward
public static <T> KeyRange<T> closedBackward(T start, T stop)
Create aKeyRangeType.BACKWARD_CLOSED
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
closedOpen
public static <T> KeyRange<T> closedOpen(T start, T stop)
Create aKeyRangeType.FORWARD_CLOSED_OPEN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
closedOpenBackward
public static <T> KeyRange<T> closedOpenBackward(T start, T stop)
Create aKeyRangeType.BACKWARD_CLOSED_OPEN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
greaterThan
public static <T> KeyRange<T> greaterThan(T start)
Create aKeyRangeType.FORWARD_GREATER_THAN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)- Returns:
- a key range (never null)
-
greaterThanBackward
public static <T> KeyRange<T> greaterThanBackward(T start)
Create aKeyRangeType.BACKWARD_GREATER_THAN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)- Returns:
- a key range (never null)
-
lessThan
public static <T> KeyRange<T> lessThan(T stop)
Create aKeyRangeType.FORWARD_LESS_THAN
range.- Type Parameters:
T
- buffer type- Parameters:
stop
- stop key (required)- Returns:
- a key range (never null)
-
lessThanBackward
public static <T> KeyRange<T> lessThanBackward(T stop)
Create aKeyRangeType.BACKWARD_LESS_THAN
range.- Type Parameters:
T
- buffer type- Parameters:
stop
- stop key (required)- Returns:
- a key range (never null)
-
open
public static <T> KeyRange<T> open(T start, T stop)
Create aKeyRangeType.FORWARD_OPEN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
openBackward
public static <T> KeyRange<T> openBackward(T start, T stop)
Create aKeyRangeType.BACKWARD_OPEN
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
openClosed
public static <T> KeyRange<T> openClosed(T start, T stop)
Create aKeyRangeType.FORWARD_OPEN_CLOSED
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
openClosedBackward
public static <T> KeyRange<T> openClosedBackward(T start, T stop)
Create aKeyRangeType.BACKWARD_OPEN_CLOSED
range.- Type Parameters:
T
- buffer type- Parameters:
start
- start key (required)stop
- stop key (required)- Returns:
- a key range (never null)
-
getStart
public T getStart()
Start key.- Returns:
- start key (may be null)
-
getStop
public T getStop()
Stop key.- Returns:
- stop key (may be null)
-
getType
public KeyRangeType getType()
Key range type.- Returns:
- type (never null)
-
-