Class AndPredicate
- java.lang.Object
-
- com.apple.foundationdb.record.query.predicates.AndOrPredicate
-
- com.apple.foundationdb.record.query.predicates.AndPredicate
-
- All Implemented Interfaces:
PlanHashable
,Bindable
,Correlated<QueryPredicate>
,QueryPredicate
public class AndPredicate extends AndOrPredicate
AQueryPredicate
that is satisfied when all of its child components are; For tri-valued logic:- If all children are
true
, thentrue
. - If any child is
false
, thenfalse
. - Else
null
.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.query.plan.temp.Correlated
Correlated.BoundEquivalence
-
Nested classes/interfaces inherited from interface com.apple.foundationdb.record.PlanHashable
PlanHashable.PlanHashKind
-
-
Constructor Summary
Constructors Constructor Description AndPredicate(List<QueryPredicate> children)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description static QueryPredicate
and(Collection<QueryPredicate> children)
<M extends Message>
Booleaneval(FDBRecordStoreBase<M> store, EvaluationContext context, FDBRecord<M> record, M message)
int
planHash(PlanHashable.PlanHashKind hashKind)
Return a hash similar tohashCode
, but with the additional guarantee that is is stable across JVMs.AndPredicate
rebaseWithRebasedChildren(AliasMap translationMap, List<QueryPredicate> rebasedChildren)
String
toString()
-
Methods inherited from class com.apple.foundationdb.record.query.predicates.AndOrPredicate
bindTo, equals, equalsWithoutChildren, getChildren, getCorrelatedTo, hashCode, rebase, semanticEquals, semanticHashCode
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface com.apple.foundationdb.record.PlanHashable
planHash
-
Methods inherited from interface com.apple.foundationdb.record.query.predicates.QueryPredicate
findImpliedMappings, impliesCandidatePredicate, isTautology
-
-
-
-
Constructor Detail
-
AndPredicate
public AndPredicate(@Nonnull List<QueryPredicate> children)
-
-
Method Detail
-
eval
@Nullable public <M extends Message> Boolean eval(@Nonnull FDBRecordStoreBase<M> store, @Nonnull EvaluationContext context, @Nullable FDBRecord<M> record, @Nullable M message)
-
planHash
public int planHash(@Nonnull PlanHashable.PlanHashKind hashKind)
Description copied from interface:PlanHashable
Return a hash similar tohashCode
, but with the additional guarantee that is is stable across JVMs.- Parameters:
hashKind
- the "kind" of hash to calculate. Each kind of hash has a particular logic with regards to included and excluded items.- Returns:
- a stable hash code
-
rebaseWithRebasedChildren
public AndPredicate rebaseWithRebasedChildren(AliasMap translationMap, List<QueryPredicate> rebasedChildren)
- Specified by:
rebaseWithRebasedChildren
in classAndOrPredicate
-
and
public static QueryPredicate and(@Nonnull Collection<QueryPredicate> children)
-
-