public class DefaultTraversal<S,E> extends java.lang.Object implements Traversal<S,E>, Traversal.Admin<S,E>
Traversal.Admin<S,E>, Traversal.Exceptions| Modifier and Type | Field and Description |
|---|---|
protected TraversalSideEffects |
sideEffects |
protected java.util.List<Step> |
steps |
protected TraversalStrategies |
strategies |
protected java.util.Optional<TraversalEngine> |
traversalEngine |
protected TraversalHolder<?,?> |
traversalHolder |
| Constructor and Description |
|---|
DefaultTraversal(java.lang.Class emanatingClass) |
| Modifier and Type | Method and Description |
|---|---|
void |
addStart(Traverser<S> start)
Add a single
Traverser object to the head of the traversal. |
void |
addStarts(java.util.Iterator<Traverser<S>> starts)
Add an iterator of
Traverser objects to the head/start of the traversal. |
<S2,E2> Traversal<S2,E2> |
addStep(int index,
Step<?,?> step) |
void |
applyStrategies(TraversalEngine engine)
Apply the registered
TraversalStrategies to the traversal. |
Traversal.Admin<S,E> |
asAdmin()
Get access to administrative methods of the traversal via its accompanying
Traversal.Admin. |
DefaultTraversal<S,E> |
clone()
Cloning is used to duplicate the traversal typically in OLAP environments.
|
boolean |
equals(java.lang.Object object) |
TraversalSideEffects |
getSideEffects()
Get the
TraversalSideEffects associated with the traversal. |
java.util.List<Step> |
getSteps()
Get the
Step instances associated with this traversal. |
TraversalStrategies |
getStrategies()
Get the
TraversalStrategies associated with this traversal. |
java.util.Optional<TraversalEngine> |
getTraversalEngine()
When the
TraversalStrategies have been applied, the destined TraversalEngine has been declared. |
TraversalHolder<?,?> |
getTraversalHolder() |
boolean |
hasNext() |
E |
next() |
<S2,E2> Traversal<S2,E2> |
removeStep(int index) |
void |
setSideEffects(TraversalSideEffects sideEffects)
Set the
TraversalSideEffects of this traversal. |
void |
setStrategies(TraversalStrategies strategies)
Set the
TraversalStrategies to be used by this traversal at evaluation time. |
void |
setTraversalHolder(TraversalHolder<?,?> step) |
java.lang.String |
toString() |
finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitaddStep, getTraverserGenerator, removeStep, reset, reverseprotected java.util.List<Step> steps
protected TraversalStrategies strategies
protected TraversalSideEffects sideEffects
protected java.util.Optional<TraversalEngine> traversalEngine
protected TraversalHolder<?,?> traversalHolder
public Traversal.Admin<S,E> asAdmin()
TraversalTraversal.Admin.public void applyStrategies(TraversalEngine engine)
Traversal.AdminTraversalStrategies to the traversal.
Once the strategies are applied, the traversal is "locked" and can no longer have steps added to it.
The order of operations for strategy applications should be: globally id steps, apply strategies to root traversal, then to nested traversals.applyStrategies in interface Traversal.Admin<S,E>engine - the engine that will ultimately execute the traversal.public java.util.Optional<TraversalEngine> getTraversalEngine()
Traversal.AdminTraversalStrategies have been applied, the destined TraversalEngine has been declared.
Once a traversal engine has been declared, the traversal can no longer be extended, only executed.getTraversalEngine in interface Traversal.Admin<S,E>public java.util.List<Step> getSteps()
Traversal.AdminStep instances associated with this traversal.
The steps are ordered according to their linked list structure as defined by Step.getPreviousStep() and Step.getNextStep().getSteps in interface Traversal.Admin<S,E>public void addStarts(java.util.Iterator<Traverser<S>> starts)
Traversal.AdminTraverser objects to the head/start of the traversal.
Users should typically not need to call this method. For dynamic inject of data, they should use InjectStep.addStarts in interface Traversal.Admin<S,E>starts - an iterators of traverserspublic void addStart(Traverser<S> start)
Traversal.AdminTraverser object to the head of the traversal.
Users should typically not need to call this method. For dynamic inject of data, they should use InjectStep.addStart in interface Traversal.Admin<S,E>start - a traverser to add to the traversalpublic boolean hasNext()
hasNext in interface java.util.Iterator<E>public java.lang.String toString()
toString in class java.lang.Objectpublic boolean equals(java.lang.Object object)
equals in class java.lang.Objectpublic DefaultTraversal<S,E> clone() throws java.lang.CloneNotSupportedException
Traversalpublic void setSideEffects(TraversalSideEffects sideEffects)
Traversal.AdminTraversalSideEffects of this traversal.setSideEffects in interface Traversal.Admin<S,E>sideEffects - the sideEffects to set for this traversal.public TraversalSideEffects getSideEffects()
Traversal.AdminTraversalSideEffects associated with the traversal.getSideEffects in interface Traversal.Admin<S,E>public void setStrategies(TraversalStrategies strategies)
Traversal.AdminTraversalStrategies to be used by this traversal at evaluation time.setStrategies in interface Traversal.Admin<S,E>strategies - the strategies to use on this traversalpublic TraversalStrategies getStrategies()
Traversal.AdminTraversalStrategies associated with this traversal.getStrategies in interface Traversal.Admin<S,E>public <S2,E2> Traversal<S2,E2> addStep(int index, Step<?,?> step) throws java.lang.IllegalStateException
addStep in interface Traversal.Admin<S,E>java.lang.IllegalStateExceptionpublic <S2,E2> Traversal<S2,E2> removeStep(int index) throws java.lang.IllegalStateException
removeStep in interface Traversal.Admin<S,E>java.lang.IllegalStateExceptionpublic void setTraversalHolder(TraversalHolder<?,?> step)
setTraversalHolder in interface Traversal.Admin<S,E>public TraversalHolder<?,?> getTraversalHolder()
getTraversalHolder in interface Traversal.Admin<S,E>Copyright © 2013-2015 TinkerPop. All Rights Reserved.