Class MultiChildrenMatcher.AllChildrenMatcher
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher
-
- com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher.AllChildrenMatcher
-
- All Implemented Interfaces:
ExpressionChildrenMatcher
- Enclosing class:
- MultiChildrenMatcher
public static class MultiChildrenMatcher.AllChildrenMatcher extends MultiChildrenMatcher
An expression children matcher that tries to match all children to a singleExpressionMatcher
. Given a singleExpressionMatcher
, this matcher tries to match it to every child. If it matches all of them, it produces a stream of bindings containing the Cartesian product of the streams of bindings from each child, merged usingPlannerBindings.mergedWith(PlannerBindings)
. Because the same matcher is used for all children, the merged bindings will map the single child matcher to a collected list ofBindable
s; such a binding must be retrieved usingPlannerBindings.getAll(ExpressionMatcher)
rather than the usualget()
method.
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher
MultiChildrenMatcher.AllChildrenMatcher, MultiChildrenMatcher.SomeChildrenMatcher
-
-
Constructor Summary
Constructors Constructor Description AllChildrenMatcher(ExpressionMatcher<? extends Bindable> childMatcher)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected Optional<Stream<PlannerBindings>>
onEmptyIndividualBindings(Stream<PlannerBindings> accumulatedStream)
-
Methods inherited from class com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher
allMatching, matches, someMatching
-
-
-
-
Constructor Detail
-
AllChildrenMatcher
public AllChildrenMatcher(@Nonnull ExpressionMatcher<? extends Bindable> childMatcher)
-
-
Method Detail
-
onEmptyIndividualBindings
@Nonnull protected Optional<Stream<PlannerBindings>> onEmptyIndividualBindings(@Nonnull Stream<PlannerBindings> accumulatedStream)
- Specified by:
onEmptyIndividualBindings
in classMultiChildrenMatcher
-
-