Package graphql.util
Class TreeParallelTraverser<T>
- java.lang.Object
-
- graphql.util.TreeParallelTraverser<T>
-
public class TreeParallelTraverser<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private classTreeParallelTraverser.EnterAction
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ForkJoinPoolforkJoinPoolprivate java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>>getChildrenprivate java.util.Map<java.lang.Class<?>,java.lang.Object>rootVarsprivate java.lang.ObjectsharedContextData
-
Constructor Summary
Constructors Modifier Constructor Description privateTreeParallelTraverser(java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getChildren, java.lang.Object sharedContextData, java.util.concurrent.ForkJoinPool forkJoinPool)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private DefaultTraverserContext<T>newContext(T o, TraverserContext<T> parent, NodeLocation position)private DefaultTraverserContext<T>newContextImpl(T curNode, TraverserContext<T> parent, java.util.Map<java.lang.Class<?>,java.lang.Object> vars, NodeLocation nodeLocation, boolean isRootContext)DefaultTraverserContext<T>newRootContext(java.util.Map<java.lang.Class<?>,java.lang.Object> vars)static <T> TreeParallelTraverser<T>parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren)static <T> TreeParallelTraverser<T>parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren, java.lang.Object sharedContextData)static <T> TreeParallelTraverser<T>parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren, java.lang.Object sharedContextData, java.util.concurrent.ForkJoinPool forkJoinPool)static <T> TreeParallelTraverser<T>parallelTraverserWithNamedChildren(java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getNamedChildren, java.lang.Object sharedContextData)static <T> TreeParallelTraverser<T>parallelTraverserWithNamedChildren(java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getNamedChildren, java.lang.Object sharedContextData, java.util.concurrent.ForkJoinPool forkJoinPool)private java.util.List<DefaultTraverserContext>pushAll(TraverserContext<T> traverserContext)TreeParallelTraverser<T>rootVar(java.lang.Class<?> key, java.lang.Object value)TreeParallelTraverser<T>rootVars(java.util.Map<java.lang.Class<?>,java.lang.Object> rootVars)voidtraverse(java.util.Collection<? extends T> roots, TraverserVisitor<? super T> visitor)voidtraverse(T root, TraverserVisitor<? super T> visitor)voidtraverseImpl(java.util.Collection<? extends T> roots, TraverserVisitor<? super T> visitor)private static <T> java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>>wrapListFunction(java.util.function.Function<? super T,? extends java.util.List<T>> listFn)
-
-
-
Field Detail
-
getChildren
private final java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getChildren
-
rootVars
private final java.util.Map<java.lang.Class<?>,java.lang.Object> rootVars
-
forkJoinPool
private final java.util.concurrent.ForkJoinPool forkJoinPool
-
sharedContextData
private java.lang.Object sharedContextData
-
-
Method Detail
-
parallelTraverser
public static <T> TreeParallelTraverser<T> parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren)
-
parallelTraverser
public static <T> TreeParallelTraverser<T> parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren, java.lang.Object sharedContextData)
-
parallelTraverser
public static <T> TreeParallelTraverser<T> parallelTraverser(java.util.function.Function<? super T,? extends java.util.List<T>> getChildren, java.lang.Object sharedContextData, java.util.concurrent.ForkJoinPool forkJoinPool)
-
parallelTraverserWithNamedChildren
public static <T> TreeParallelTraverser<T> parallelTraverserWithNamedChildren(java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getNamedChildren, java.lang.Object sharedContextData)
-
parallelTraverserWithNamedChildren
public static <T> TreeParallelTraverser<T> parallelTraverserWithNamedChildren(java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getNamedChildren, java.lang.Object sharedContextData, java.util.concurrent.ForkJoinPool forkJoinPool)
-
wrapListFunction
private static <T> java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> wrapListFunction(java.util.function.Function<? super T,? extends java.util.List<T>> listFn)
-
rootVars
public TreeParallelTraverser<T> rootVars(java.util.Map<java.lang.Class<?>,java.lang.Object> rootVars)
-
rootVar
public TreeParallelTraverser<T> rootVar(java.lang.Class<?> key, java.lang.Object value)
-
traverse
public void traverse(T root, TraverserVisitor<? super T> visitor)
-
traverse
public void traverse(java.util.Collection<? extends T> roots, TraverserVisitor<? super T> visitor)
-
newRootContext
public DefaultTraverserContext<T> newRootContext(java.util.Map<java.lang.Class<?>,java.lang.Object> vars)
-
traverseImpl
public void traverseImpl(java.util.Collection<? extends T> roots, TraverserVisitor<? super T> visitor)
-
pushAll
private java.util.List<DefaultTraverserContext> pushAll(TraverserContext<T> traverserContext)
-
newContext
private DefaultTraverserContext<T> newContext(T o, TraverserContext<T> parent, NodeLocation position)
-
newContextImpl
private DefaultTraverserContext<T> newContextImpl(T curNode, TraverserContext<T> parent, java.util.Map<java.lang.Class<?>,java.lang.Object> vars, NodeLocation nodeLocation, boolean isRootContext)
-
-