@API(value=EXPERIMENTAL) public class AnyChildMatcher extends Object implements ExpressionChildrenMatcher
ExpressionMatcher
, producing a
stream of bindings that is the concatenation of the (possibly empty) streams of bindings from attempting to match each
child to the given matcher.Modifier and Type | Method and Description |
---|---|
static AnyChildMatcher |
anyMatching(ExpressionMatcher<? extends Bindable> childMatcher)
Get a matcher that tries to match any child with the given
ExpressionMatcher . |
Stream<PlannerBindings> |
matches(Iterator<? extends ExpressionRef<? extends PlannerExpression>> childIterator)
Apply this matcher to the children provided by the given iterator and produce a stream of possible bindings.
|
@Nonnull public Stream<PlannerBindings> matches(@Nonnull Iterator<? extends ExpressionRef<? extends PlannerExpression>> childIterator)
ExpressionChildrenMatcher
ExpressionMatcher
s.matches
in interface ExpressionChildrenMatcher
childIterator
- an iterator of references to the children of a planner expression@Nonnull public static AnyChildMatcher anyMatching(@Nonnull ExpressionMatcher<? extends Bindable> childMatcher)
ExpressionMatcher
.childMatcher
- an expression matcher to match any one of the children