Package graphql.util
Class TraverserState<T>
- java.lang.Object
-
- graphql.util.TraverserState<T>
-
- Direct Known Subclasses:
TraverserState.QueueTraverserState
,TraverserState.StackTraverserState
public abstract class TraverserState<T> extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
TraverserState.EndList<U>
private static class
TraverserState.QueueTraverserState<U>
private static class
TraverserState.StackTraverserState<U>
-
Field Summary
Fields Modifier and Type Field Description private java.lang.Object
sharedContextData
private java.util.Deque<java.lang.Object>
state
private java.util.Set<T>
visited
-
Constructor Summary
Constructors Modifier Constructor Description private
TraverserState(java.lang.Object sharedContextData)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description void
addNewContexts(java.util.Collection<? extends T> children, TraverserContext<T> parentContext)
void
addVisited(T visited)
boolean
isEmpty()
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)
static <U> TraverserState<U>
newQueueState(java.lang.Object sharedContextData)
DefaultTraverserContext<T>
newRootContext(java.util.Map<java.lang.Class<?>,java.lang.Object> vars)
static <U> TraverserState<U>
newStackState(java.lang.Object sharedContextData)
java.lang.Object
pop()
abstract void
pushAll(TraverserContext<T> o, java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getChildren)
-
-
-
Field Detail
-
sharedContextData
private java.lang.Object sharedContextData
-
state
private final java.util.Deque<java.lang.Object> state
-
visited
private final java.util.Set<T> visited
-
-
Method Detail
-
newQueueState
public static <U> TraverserState<U> newQueueState(java.lang.Object sharedContextData)
-
newStackState
public static <U> TraverserState<U> newStackState(java.lang.Object sharedContextData)
-
pushAll
public abstract void pushAll(TraverserContext<T> o, java.util.function.Function<? super T,java.util.Map<java.lang.String,? extends java.util.List<T>>> getChildren)
-
pop
public java.lang.Object pop()
-
addNewContexts
public void addNewContexts(java.util.Collection<? extends T> children, TraverserContext<T> parentContext)
-
isEmpty
public boolean isEmpty()
-
addVisited
public void addVisited(T visited)
-
newRootContext
public DefaultTraverserContext<T> newRootContext(java.util.Map<java.lang.Class<?>,java.lang.Object> vars)
-
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)
-
-