Class BaseField
- java.lang.Object
-
- com.apple.foundationdb.record.query.expressions.BaseField
-
- All Implemented Interfaces:
PlanHashable
,QueryComponent
,QueryHashable
- Direct Known Subclasses:
BaseNestedField
,EmptyComparison
,FieldWithComparison
,OneOfThemWithComparison
,OneOfThemWithComponent
@API(INTERNAL) public abstract class BaseField extends Object implements PlanHashable, QueryComponent
An abstract base class for field-likeQueryComponent
s that involve predicates on one particular record field, as specified by thefieldName
member.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.QueryHashable
QueryHashable.QueryHashKind
-
-
Method Summary
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash, planHash
-
Methods inherited from interface com.apple.foundationdb.record.query.expressions.QueryComponent
eval, evalAsync, evalMessage, evalMessageAsync, expand, expand, isAsync, validate
-
Methods inherited from interface com.apple.foundationdb.record.QueryHashable
queryHash
-
-
-
-
Method Detail
-
findFieldDescriptor
@Nonnull protected Descriptors.FieldDescriptor findFieldDescriptor(@Nonnull MessageOrBuilder message)
-
getFieldValue
@Nullable protected Object getFieldValue(@Nullable MessageOrBuilder message)
-
validateFieldExistence
@Nonnull protected Descriptors.FieldDescriptor validateFieldExistence(@Nonnull Descriptors.Descriptor descriptor)
-
requirePrimitiveField
protected void requirePrimitiveField(@Nonnull Descriptors.FieldDescriptor field)
-
requireMessageField
protected void requireMessageField(@Nonnull Descriptors.FieldDescriptor field)
-
requireScalarField
protected void requireScalarField(@Nonnull Descriptors.FieldDescriptor field)
-
basePlanHash
protected int basePlanHash(@Nonnull PlanHashable.PlanHashKind hashKind, ObjectPlanHash baseHash, Object... hashables)
Base implementation ofPlanHashable.planHash(com.apple.foundationdb.record.PlanHashable.PlanHashKind)
. This implementation makes each concrete subclass implement its own version ofPlanHashable.planHash(com.apple.foundationdb.record.PlanHashable.PlanHashKind)
so that they are guided to add their own class modifier (SeeObjectPlanHash
). This implementation is meant to give subclasses common functionality for their own implementation.- Parameters:
hashKind
- the plan hash kind to usebaseHash
- the subclass' base hash (concrete identifier)hashables
- the rest of the subclass' hashable parameters (if any)- Returns:
- the plan hash value calculated
-
baseQueryHash
protected int baseQueryHash(@Nonnull QueryHashable.QueryHashKind hashKind, ObjectPlanHash baseHash, Object... hashables)
Base implementation ofQueryHashable.queryHash(com.apple.foundationdb.record.QueryHashable.QueryHashKind)
. This implementation makes each concrete subclass implement its own version ofQueryHashable.queryHash(com.apple.foundationdb.record.QueryHashable.QueryHashKind)
so that they are guided to add their own class modifier (SeeObjectPlanHash
). This implementation is meant to give subclasses common functionality for their own implementation.- Parameters:
hashKind
- the query hash kind to usebaseHash
- the subclass' base hash (concrete identifier)hashables
- the rest of the subclass' hashable parameters (if any)- Returns:
- the query hash value calculated
-
-