Package com.apple.foundationdb.record
Class RecordFunction<T>
- java.lang.Object
-
- com.apple.foundationdb.record.RecordFunction<T>
-
- Type Parameters:
T
- the result type of the function
- All Implemented Interfaces:
PlanHashable
,QueryHashable
- Direct Known Subclasses:
IndexRecordFunction
,StoreRecordFunction
@API(STABLE) public abstract class RecordFunction<T> extends Object implements PlanHashable, QueryHashable
A function to be applied to a record as part of query execution.
-
-
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
-
-
Constructor Summary
Constructors Modifier Constructor Description protected
RecordFunction(String name)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected int
basePlanHash(PlanHashable.PlanHashKind hashKind, ObjectPlanHash baseHash, Object... hashables)
Base implementation ofPlanHashable.planHash(com.apple.foundationdb.record.PlanHashable.PlanHashKind)
.protected int
baseQueryHash(QueryHashable.QueryHashKind hashKind, ObjectPlanHash baseHash, Object... hashables)
Base implementation ofQueryHashable.queryHash(com.apple.foundationdb.record.QueryHashable.QueryHashKind)
.boolean
equals(Object o)
String
getName()
int
hashCode()
void
validate(Descriptors.Descriptor descriptor)
-
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.QueryHashable
queryHash
-
-
-
-
Method Detail
-
validate
public void validate(@Nonnull Descriptors.Descriptor descriptor)
-
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
-
-