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 class
TreeParallelTraverser.EnterAction
-
Field Summary
Fields Modifier and Type Field Description private java.util.concurrent.ForkJoinPool
forkJoinPool
private java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>>
getChildren
private java.util.Map<java.lang.Class<?>,java.lang.Object>
rootVars
private java.lang.Object
sharedContextData
-
Constructor Summary
Constructors Modifier Constructor Description private
TreeParallelTraverser(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)
void
traverse(java.util.Collection<? extends T> roots, TraverserVisitor<? super T> visitor)
void
traverse(T root, TraverserVisitor<? super T> visitor)
void
traverseImpl(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)
-
-