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 classTraverserState.EndList<U>private static classTraverserState.QueueTraverserState<U>private static classTraverserState.StackTraverserState<U>
-
Field Summary
Fields Modifier and Type Field Description private java.lang.ObjectsharedContextDataprivate java.util.Deque<java.lang.Object>stateprivate java.util.Set<T>visited
-
Constructor Summary
Constructors Modifier Constructor Description privateTraverserState(java.lang.Object sharedContextData)
-
Method Summary
All Methods Static Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description voidaddNewContexts(java.util.Collection<? extends T> children, TraverserContext<T> parentContext)voidaddVisited(T visited)booleanisEmpty()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.Objectpop()abstract voidpushAll(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)
-
-