@API(value=MAINTAINED) public abstract class BaseKeyExpression extends Object implements KeyExpression
Modifier and Type | Class and Description |
---|---|
static class |
BaseKeyExpression.IllegalSubKeyException
An exception that is thrown when
getSubKey(int, int) is used incorrectly. |
static class |
BaseKeyExpression.UnsplittableKeyExpressionException
An exception indicating that the key expression is not splittable.
|
KeyExpression.DeserializationException, KeyExpression.FanType, KeyExpression.InvalidExpressionException, KeyExpression.InvalidResultException, KeyExpression.NoSuchArgumentException, KeyExpression.SerializationException
Constructor and Description |
---|
BaseKeyExpression() |
Modifier and Type | Method and Description |
---|---|
KeyExpression |
getSubKey(int start,
int end)
Returns a sub-set of the key expression.
|
protected KeyExpression |
getSubKeyImpl(int start,
int end) |
boolean |
isPrefixKey(KeyExpression key)
Check whether a key is a prefix of another key.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
createsDuplicates, evaluate, evaluateMessage, evaluateSingleton, fromProto, getColumnSize, hasProperInterfaces, hasRecordTypeKey, normalizeKeyForPositions, toKeyExpression, toProto, validate, versionColumns
combineHashes, iterablePlanHash, objectPlanHash, objectsPlanHash, planHash, planHash, planHash, planHashUnordered, stringHashUnordered
@Nonnull public final KeyExpression getSubKey(int start, int end)
KeyExpression
getSubKey
in interface KeyExpression
start
- starting positionend
- ending positionstart
and end
@Nonnull protected KeyExpression getSubKeyImpl(int start, int end)
public boolean isPrefixKey(@Nonnull KeyExpression key)
KeyExpression
isPrefixKey
in interface KeyExpression
key
- the whole key to checktrue
if prefix
is a left subset of key