Interface Traverser<A,R>
An API for
QueryPart.$traverse(Traverser) query part traversals.
This API is EXPERIMENTAL. Use at your own risk.
Similar to a Collector for Stream.collect(Collector), this
type wraps:
-
Method Summary
Modifier and TypeMethodDescriptionabort()An optional traversal abort condition to short circuit traversal e.g.BiFunction<A, QueryPart, A> after()A callback that is invoked after recursing into a subtree.BiFunction<A, QueryPart, A> before()A callback that is invoked before recursing into a subtree.finisher()An optional transformation function to turn the temporary data structure supplied bysupplier()into the final data structure.static <A,R> Traverser <A, R> of(Supplier<A> supplier, Predicate<? super A> abort, Predicate<? super QueryPart> recurse, BiFunction<? super A, ? super QueryPart, ? extends A> before, BiFunction<? super A, ? super QueryPart, ? extends A> after, Function<? super A, ? extends R> finisher) Convenience method to create aTraverserwith asupplier(),abort(),recurse(),before(),after(), andfinisher().static <A,R> Traverser <A, R> of(Supplier<A> supplier, Predicate<? super A> abort, Predicate<? super QueryPart> recurse, Predicate<? super QueryPart> recurseChildren, BiFunction<? super A, ? super QueryPart, ? extends A> before, BiFunction<? super A, ? super QueryPart, ? extends A> after, Function<? super A, ? extends R> finisher) Convenience method to create aTraverserwith asupplier(),abort(),recurse(),recurseChildren(),before(),after(), andfinisher().static <R> Traverser<R, R> of(Supplier<R> supplier, BiFunction<? super R, ? super QueryPart, ? extends R> before) static <R> Traverser<R, R> of(Supplier<R> supplier, BiFunction<? super R, ? super QueryPart, ? extends R> before, BiFunction<? super R, ? super QueryPart, ? extends R> after) static <R> Traverser<R, R> of(Supplier<R> supplier, Predicate<? super R> abort, Predicate<? super QueryPart> recurse, BiFunction<? super R, ? super QueryPart, ? extends R> before) static <R> Traverser<R, R> of(Supplier<R> supplier, Predicate<? super R> abort, Predicate<? super QueryPart> recurse, BiFunction<? super R, ? super QueryPart, ? extends R> before, BiFunction<? super R, ? super QueryPart, ? extends R> after) recurse()An optional recursion condition to prevent entering a specificQueryPart, e.g.An optional recursion condition to prevent entering a specificQueryPart's children, e.g.supplier()A supplier for a temporary data structure to accumulateQueryPartobjects into during traversal.
-
Method Details
-
of
static <R> Traverser<R,R> of(Supplier<R> supplier, BiFunction<? super R, ? super QueryPart, ? extends R> before) -
of
static <R> Traverser<R,R> of(Supplier<R> supplier, BiFunction<? super R, ? super QueryPart, ? extends R> before, BiFunction<? super R, ? super QueryPart, ? extends R> after) -
of
-
of
static <R> Traverser<R,R> of(Supplier<R> supplier, Predicate<? super R> abort, Predicate<? super QueryPart> recurse, BiFunction<? super R, ? super QueryPart, ? extends R> before, BiFunction<? super R, ? super QueryPart, ? extends R> after) -
of
static <A,R> Traverser<A,R> of(Supplier<A> supplier, Predicate<? super A> abort, Predicate<? super QueryPart> recurse, BiFunction<? super A, ? super QueryPart, ? extends A> before, BiFunction<? super A, ? super QueryPart, ? extends A> after, Function<? super A, ? extends R> finisher) Convenience method to create aTraverserwith asupplier(),abort(),recurse(),before(),after(), andfinisher(). -
of
static <A,R> Traverser<A,R> of(Supplier<A> supplier, Predicate<? super A> abort, Predicate<? super QueryPart> recurse, Predicate<? super QueryPart> recurseChildren, BiFunction<? super A, ? super QueryPart, ? extends A> before, BiFunction<? super A, ? super QueryPart, ? extends A> after, Function<? super A, ? extends R> finisher) Convenience method to create aTraverserwith asupplier(),abort(),recurse(),recurseChildren(),before(),after(), andfinisher(). -
supplier
-
abort
-
recurse
-
recurseChildren
-
before
BiFunction<A, QueryPart, A> before()A callback that is invoked before recursing into a subtree. -
after
BiFunction<A, QueryPart, A> after()A callback that is invoked after recursing into a subtree. -
finisher
An optional transformation function to turn the temporary data structure supplied bysupplier()into the final data structure.
-