Class MultiChildrenMatcher.SomeChildrenMatcher
- java.lang.Object
-
- com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher
-
- com.apple.foundationdb.record.query.plan.temp.matchers.MultiChildrenMatcher.SomeChildrenMatcher
-
- All Implemented Interfaces:
ExpressionChildrenMatcher
- Enclosing class:
- MultiChildrenMatcher
public static class MultiChildrenMatcher.SomeChildrenMatcher extends MultiChildrenMatcher
An expression children matcher that tries to match some children to a singleExpressionMatcher
. Given a singleExpressionMatcher
, this matcher tries to match it to every child. For the ones that match, it produces a stream of bindings containing the Cartesian product of the streams of bindings from each matching 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 SomeChildrenMatcher(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
-
SomeChildrenMatcher
public SomeChildrenMatcher(@Nonnull ExpressionMatcher<? extends Bindable> childMatcher)
-
-
Method Detail
-
onEmptyIndividualBindings
@Nonnull protected Optional<Stream<PlannerBindings>> onEmptyIndividualBindings(@Nonnull Stream<PlannerBindings> accumulatedStream)
- Specified by:
onEmptyIndividualBindings
in classMultiChildrenMatcher
-
-