Class OrPredicate
- java.lang.Object
-
- com.apple.foundationdb.record.query.predicates.AndOrPredicate
-
- com.apple.foundationdb.record.query.predicates.OrPredicate
-
- All Implemented Interfaces:
PlanHashable
,Bindable
,Correlated<QueryPredicate>
,QueryPredicate
@API(EXPERIMENTAL) public class OrPredicate extends AndOrPredicate
AQueryPredicate
that is satisfied when any of its child components is satisfied. For tri-valued logic:- If any child is
true
, thentrue
. - If all children are
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 OrPredicate(List<QueryPredicate> operands)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description <M extends Message>
Booleaneval(FDBRecordStoreBase<M> store, EvaluationContext context, FDBRecord<M> record, M message)
static QueryPredicate
or(Collection<QueryPredicate> children)
int
planHash(PlanHashable.PlanHashKind hashKind)
Return a hash similar tohashCode
, but with the additional guarantee that is is stable across JVMs.OrPredicate
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
-
OrPredicate
public OrPredicate(@Nonnull List<QueryPredicate> operands)
-
-
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 OrPredicate rebaseWithRebasedChildren(AliasMap translationMap, List<QueryPredicate> rebasedChildren)
- Specified by:
rebaseWithRebasedChildren
in classAndOrPredicate
-
or
public static QueryPredicate or(@Nonnull Collection<QueryPredicate> children)
-
-