Class TraversalHelper
- java.lang.Object
 - 
- org.apache.tinkerpop.gremlin.process.traversal.util.TraversalHelper
 
 
- 
public final class TraversalHelper extends Object
- Author:
 - Marko A. Rodriguez (http://markorodriguez.com), Stephen Mallette (http://stephen.genoprime.com)
 
 
- 
- 
Method Summary
All Methods Static Methods Concrete Methods Deprecated Methods Modifier and Type Method Description static <T extends Traversal.Admin<?,?>>
TaddHasContainer(T traversal, HasContainer hasContainer)Used to left-fold aHasContainerto aHasContainerHolderif it exists.static <S> voidaddToCollection(Collection<S> collection, S s, long bulk)static booleananyStepRecursively(Predicate<Step> predicate, TraversalParent step)Determine if any child step of aTraversalParentmatch the step given the providedPredicate.static booleananyStepRecursively(Predicate<Step> predicate, Traversal.Admin<?,?> traversal)static voidapplySingleLevelStrategies(Traversal.Admin<?,?> parentTraversal, Traversal.Admin<?,?> childTraversal, Class<? extends TraversalStrategy> stopAfterStrategy)Deprecated.As of release 3.5.2, not replaced as strategies are not applied in this fashion after 3.5.0static voidapplyTraversalRecursively(Consumer<Traversal.Admin<?,?>> consumer, Traversal.Admin<?,?> traversal)static voidapplyTraversalRecursively(Consumer<Traversal.Admin<?,?>> consumer, Traversal.Admin<?,?> traversal, boolean applyToChildrenOnly)static voidcopyLabels(Step<?,?> fromStep, Step<?,?> toStep, boolean moveLabels)static <S> Optional<S>getFirstStepOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)static Set<String>getLabels(Traversal.Admin<?,?> traversal)static <S> Optional<S>getLastStepOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)static Traversal.Admin<?,?>getRootTraversal(Traversal.Admin<?,?> traversal)static StringgetShortName(Step step, int maxLength)Returns the name of step truncated to maxLength.static <S> List<S>getStepsOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)static <S> List<S>getStepsOfAssignableClassRecursively(Class<S> stepClass, Traversal.Admin<?,?> traversal)static <S> List<S>getStepsOfAssignableClassRecursively(Scope scope, Class<S> stepClass, Traversal.Admin<?,?> traversal)static List<Step<?,?>>getStepsOfAssignableClassRecursively(Traversal.Admin<?,?> traversal, Class<?>... stepClasses)Get steps of the specified classes throughout the traversal.static List<Step<?,?>>getStepsOfAssignableClassRecursivelyFromDepth(Traversal.Admin<?,?> traversal, Class<?>... stepClasses)Get steps of the specified classes throughout the traversal, collecting them in a fashion that orders them from the deepest steps first.static <S> List<S>getStepsOfClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)static Set<Scoping.Variable>getVariableLocations(Traversal.Admin<?,?> traversal)static booleanhasAllStepsOfClass(Traversal.Admin<?,?> traversal, Class<?>... classesToCheck)static booleanhasLabels(Traversal.Admin<?,?> traversal)static booleanhasStepOfAssignableClass(Class superClass, Traversal.Admin<?,?> traversal)Determine if the traversal has a step of an assignable class.static booleanhasStepOfAssignableClassRecursively(Class stepClass, Traversal.Admin<?,?> traversal)Determine if the traversal has a step of an assignable class in the currentTraversaland its local and global child traversals.static booleanhasStepOfAssignableClassRecursively(Collection<Class> stepClasses, Traversal.Admin<?,?> traversal)Determine if the traversal has any of the supplied steps of an assignable class in the currentTraversaland its global or local child traversals.static booleanhasStepOfAssignableClassRecursively(Scope scope, Class stepClass, Traversal.Admin<?,?> traversal)static booleanhasStepOfAssignableClassRecursively(Scope scope, Collection<Class> stepClasses, Traversal.Admin<?,?> traversal)static booleanhasStepOfClass(Class stepClass, Traversal.Admin<?,?> traversal)Determine if the traversal has a step of a particular class.static booleanhasStepOfClass(Traversal.Admin<?,?> traversal, Class<?>... classesToCheck)static <S,E>
voidinsertAfterStep(Step<S,E> insertStep, Step<?,S> beforeStep, Traversal.Admin<?,?> traversal)Insert a step after a specified step instance.static <S,E>
voidinsertBeforeStep(Step<S,E> insertStep, Step<E,?> afterStep, Traversal.Admin<?,?> traversal)Insert a step before a specified step instance.static <S,E>
Step<?,E>insertTraversal(int insertIndex, Traversal.Admin<S,E> insertTraversal, Traversal.Admin<?,?> traversal)static <S,E>
Step<?,E>insertTraversal(Step<?,S> previousStep, Traversal.Admin<S,E> insertTraversal, Traversal.Admin<?,?> traversal)static booleanisGlobalChild(Traversal.Admin<?,?> traversal)static booleanisLocalProperties(Traversal.Admin<?,?> traversal)static booleanisLocalStarGraph(Traversal.Admin<?,?> traversal)static booleanonGraphComputer(Traversal.Admin<?,?> traversal)static voidreIdSteps(StepPosition stepPosition, Traversal.Admin<?,?> traversal)static voidremoveAllSteps(Traversal.Admin<?,?> traversal)static <S,E>
voidremoveToTraversal(Step<S,?> startStep, Step<?,E> endStep, Traversal.Admin<S,E> newTraversal)static <S,E>
voidreplaceStep(Step<S,E> removeStep, Step<S,E> insertStep, Traversal.Admin<?,?> traversal)Replace a step with a new step.static <S,E>
intstepIndex(Step<S,E> step, Traversal.Admin<?,?> traversal)Gets the index of a particular step in theTraversal. 
 - 
 
- 
- 
Method Detail
- 
isLocalProperties
public static boolean isLocalProperties(Traversal.Admin<?,?> traversal)
 
- 
isLocalStarGraph
public static boolean isLocalStarGraph(Traversal.Admin<?,?> traversal)
 
- 
insertBeforeStep
public static <S,E> void insertBeforeStep(Step<S,E> insertStep, Step<E,?> afterStep, Traversal.Admin<?,?> traversal)
Insert a step before a specified step instance.- Parameters:
 insertStep- the step to insertafterStep- the step to insert the new step beforetraversal- the traversal on which the action should occur
 
- 
insertAfterStep
public static <S,E> void insertAfterStep(Step<S,E> insertStep, Step<?,S> beforeStep, Traversal.Admin<?,?> traversal)
Insert a step after a specified step instance.- Parameters:
 insertStep- the step to insertbeforeStep- the step to insert the new step aftertraversal- the traversal on which the action should occur
 
- 
replaceStep
public static <S,E> void replaceStep(Step<S,E> removeStep, Step<S,E> insertStep, Traversal.Admin<?,?> traversal)
Replace a step with a new step.- Parameters:
 removeStep- the step to removeinsertStep- the step to inserttraversal- the traversal on which the action will occur
 
- 
insertTraversal
public static <S,E> Step<?,E> insertTraversal(Step<?,S> previousStep, Traversal.Admin<S,E> insertTraversal, Traversal.Admin<?,?> traversal)
 
- 
insertTraversal
public static <S,E> Step<?,E> insertTraversal(int insertIndex, Traversal.Admin<S,E> insertTraversal, Traversal.Admin<?,?> traversal)
 
- 
removeToTraversal
public static <S,E> void removeToTraversal(Step<S,?> startStep, Step<?,E> endStep, Traversal.Admin<S,E> newTraversal)
 
- 
stepIndex
public static <S,E> int stepIndex(Step<S,E> step, Traversal.Admin<?,?> traversal)
Gets the index of a particular step in theTraversal.- Parameters:
 step- the step to retrieve the index fortraversal- the traversal to perform the action on- Returns:
 - the index of the step or -1 if the step is not present
 
 
- 
getStepsOfClass
public static <S> List<S> getStepsOfClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getStepsOfAssignableClass
public static <S> List<S> getStepsOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getLastStepOfAssignableClass
public static <S> Optional<S> getLastStepOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getFirstStepOfAssignableClass
public static <S> Optional<S> getFirstStepOfAssignableClass(Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getStepsOfAssignableClassRecursively
public static <S> List<S> getStepsOfAssignableClassRecursively(Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getStepsOfAssignableClassRecursively
public static <S> List<S> getStepsOfAssignableClassRecursively(Scope scope, Class<S> stepClass, Traversal.Admin<?,?> traversal)
 
- 
getStepsOfAssignableClassRecursively
public static List<Step<?,?>> getStepsOfAssignableClassRecursively(Traversal.Admin<?,?> traversal, Class<?>... stepClasses)
Get steps of the specified classes throughout the traversal. 
- 
getStepsOfAssignableClassRecursivelyFromDepth
public static List<Step<?,?>> getStepsOfAssignableClassRecursivelyFromDepth(Traversal.Admin<?,?> traversal, Class<?>... stepClasses)
Get steps of the specified classes throughout the traversal, collecting them in a fashion that orders them from the deepest steps first. 
- 
isGlobalChild
public static boolean isGlobalChild(Traversal.Admin<?,?> traversal)
 
- 
hasStepOfClass
public static boolean hasStepOfClass(Class stepClass, Traversal.Admin<?,?> traversal)
Determine if the traversal has a step of a particular class.- Parameters:
 stepClass- the step class to look fortraversal- the traversal to perform the action on- Returns:
 trueif the class is found andfalseotherwise
 
- 
hasStepOfAssignableClass
public static boolean hasStepOfAssignableClass(Class superClass, Traversal.Admin<?,?> traversal)
Determine if the traversal has a step of an assignable class.- Parameters:
 superClass- the step super class to look fortraversal- the traversal to perform the action on- Returns:
 trueif the class is found andfalseotherwise
 
- 
hasStepOfAssignableClassRecursively
public static boolean hasStepOfAssignableClassRecursively(Class stepClass, Traversal.Admin<?,?> traversal)
Determine if the traversal has a step of an assignable class in the currentTraversaland its local and global child traversals.- Parameters:
 stepClass- the step class to look fortraversal- the traversal in which to look for the given step class- Returns:
 trueif any step in the given traversal (and its child traversals) is an instance of the givenstepClass, otherwisefalse.
 
- 
hasStepOfAssignableClassRecursively
public static boolean hasStepOfAssignableClassRecursively(Scope scope, Class stepClass, Traversal.Admin<?,?> traversal)
Determine if the traversal has a step of an assignable class in the currentTraversaland itsScopechild traversals.- Parameters:
 scope- the child traversal scope to checkstepClass- the step class to look fortraversal- the traversal in which to look for the given step class- Returns:
 trueif any step in the given traversal (and its child traversals) is an instance of the givenstepClass, otherwisefalse.
 
- 
hasStepOfAssignableClassRecursively
public static boolean hasStepOfAssignableClassRecursively(Collection<Class> stepClasses, Traversal.Admin<?,?> traversal)
Determine if the traversal has any of the supplied steps of an assignable class in the currentTraversaland its global or local child traversals.- Parameters:
 stepClasses- the step classes to look fortraversal- the traversal in which to look for the given step classes- Returns:
 trueif any step in the given traversal (and its child traversals) is an instance of a class provided instepClasses, otherwisefalse.
 
- 
hasStepOfAssignableClassRecursively
public static boolean hasStepOfAssignableClassRecursively(Scope scope, Collection<Class> stepClasses, Traversal.Admin<?,?> traversal)
Determine if the traversal has any of the supplied steps of an assignable class in the currentTraversaland itsScopechild traversals.- Parameters:
 scope- whether to check global or local children (null for both).stepClasses- the step classes to look fortraversal- the traversal in which to look for the given step classes- Returns:
 trueif any step in the given traversal (and its child traversals) is an instance of a class provided instepClasses, otherwisefalse.
 
- 
anyStepRecursively
public static boolean anyStepRecursively(Predicate<Step> predicate, Traversal.Admin<?,?> traversal)
- Parameters:
 predicate- the match functiontraversal- the traversal to perform the action on- Returns:
 trueif there is a match andfalseotherwise
 
- 
anyStepRecursively
public static boolean anyStepRecursively(Predicate<Step> predicate, TraversalParent step)
Determine if any child step of aTraversalParentmatch the step given the providedPredicate.- Parameters:
 predicate- the match functionstep- the step to perform the action on- Returns:
 trueif there is a match andfalseotherwise
 
- 
applyTraversalRecursively
public static void applyTraversalRecursively(Consumer<Traversal.Admin<?,?>> consumer, Traversal.Admin<?,?> traversal)
- Parameters:
 consumer- the function to apply to the each traversal in the treetraversal- the root traversal to start application
 
- 
applyTraversalRecursively
public static void applyTraversalRecursively(Consumer<Traversal.Admin<?,?>> consumer, Traversal.Admin<?,?> traversal, boolean applyToChildrenOnly)
- Parameters:
 consumer- the function to apply to the each traversal in the treetraversal- the root traversal to start application
 
- 
addToCollection
public static <S> void addToCollection(Collection<S> collection, S s, long bulk)
 
- 
getShortName
public static String getShortName(Step step, int maxLength)
Returns the name of step truncated to maxLength. An ellipses is appended when the name exceeds maxLength.- Parameters:
 step-maxLength- Includes the 3 "..." characters that will be appended when the length of the name exceeds maxLength.- Returns:
 - short step name.
 
 
- 
reIdSteps
public static void reIdSteps(StepPosition stepPosition, Traversal.Admin<?,?> traversal)
 
- 
getRootTraversal
public static Traversal.Admin<?,?> getRootTraversal(Traversal.Admin<?,?> traversal)
 
- 
hasLabels
public static boolean hasLabels(Traversal.Admin<?,?> traversal)
 
- 
getLabels
public static Set<String> getLabels(Traversal.Admin<?,?> traversal)
 
- 
getVariableLocations
public static Set<Scoping.Variable> getVariableLocations(Traversal.Admin<?,?> traversal)
 
- 
onGraphComputer
public static boolean onGraphComputer(Traversal.Admin<?,?> traversal)
 
- 
removeAllSteps
public static void removeAllSteps(Traversal.Admin<?,?> traversal)
 
- 
copyLabels
public static void copyLabels(Step<?,?> fromStep, Step<?,?> toStep, boolean moveLabels)
 
- 
hasAllStepsOfClass
public static boolean hasAllStepsOfClass(Traversal.Admin<?,?> traversal, Class<?>... classesToCheck)
 
- 
hasStepOfClass
public static boolean hasStepOfClass(Traversal.Admin<?,?> traversal, Class<?>... classesToCheck)
 
- 
applySingleLevelStrategies
@Deprecated public static void applySingleLevelStrategies(Traversal.Admin<?,?> parentTraversal, Traversal.Admin<?,?> childTraversal, Class<? extends TraversalStrategy> stopAfterStrategy)
Deprecated.As of release 3.5.2, not replaced as strategies are not applied in this fashion after 3.5.0 
- 
addHasContainer
public static <T extends Traversal.Admin<?,?>> T addHasContainer(T traversal, HasContainer hasContainer)
- Type Parameters:
 T- the traversal type- Parameters:
 traversal- the traversal to fold or append.hasContainer- the container to add left or append.- Returns:
 - the has container folded or appended traversal
 
 
 - 
 
 -