Class BranchStep<S,E,M>
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<S,E>
-
- org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep<S,E>
-
- org.apache.tinkerpop.gremlin.process.traversal.step.branch.BranchStep<S,E,M>
-
- All Implemented Interfaces:
Serializable,AutoCloseable,Cloneable,Iterator<Traverser.Admin<E>>,Step<S,E>,GraphComputing,TraversalOptionParent<M,S,E>,TraversalParent
- Direct Known Subclasses:
ChooseStep,UnionStep
public class BranchStep<S,E,M> extends ComputerAwareStep<S,E> implements TraversalOptionParent<M,S,E>
- Author:
- Marko A. Rodriguez (http://markorodriguez.com), Daniel Kuppitz (http://gremlin.guru)
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep
ComputerAwareStep.EndStep<S>
-
-
Field Summary
Fields Modifier and Type Field Description protected Traversal.Admin<S,M>branchTraversalprotected List<org.javatuples.Pair<Traversal.Admin<M,?>,Traversal.Admin<S,E>>>traversalOptionsprotected Map<Pick,List<Traversal.Admin<S,E>>>traversalPickOptions-
Fields inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep
id, labels, nextEnd, nextStep, previousStep, starts, traversal, traverserStepIdAndLabelsSetByChild
-
-
Constructor Summary
Constructors Constructor Description BranchStep(Traversal.Admin traversal)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddChildOption(M pickToken, Traversal.Admin<S,E> traversalOption)BranchStep<S,E,M>clone()Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.protected Iterator<Traverser.Admin<E>>computerAlgorithm()List<Traversal.Admin<S,E>>getGlobalChildren()List<Traversal.Admin<?,?>>getLocalChildren()Set<TraverserRequirement>getRequirements()Provide the necessaryTraverserRequirementthat must be met by the traverser in order for the step to function properly.inthashCode()voidreset()Reset the state of the step such that it has no incoming starts.voidsetBranchTraversal(Traversal.Admin<S,M> branchTraversal)voidsetTraversal(Traversal.Admin<?,?> parentTraversal)Set theTraversalthat this step is contained within.protected Iterator<Traverser.Admin<E>>standardAlgorithm()StringtoString()-
Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep
onGraphComputer, processNextStart
-
Methods inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep
addLabel, addStart, addStarts, clearLabels, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hasNext, hasStarts, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, setId, setNextStep, setPreviousStep
-
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.GraphComputing
atMaster
-
Methods inherited from interface java.util.Iterator
forEachRemaining, remove
-
Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.TraversalParent
addGlobalChild, addLocalChild, asStep, close, getSelfAndChildRequirements, integrateChild, removeGlobalChild, removeLocalChild, replaceLocalChild
-
-
-
-
Field Detail
-
branchTraversal
protected Traversal.Admin<S,M> branchTraversal
-
traversalOptions
protected List<org.javatuples.Pair<Traversal.Admin<M,?>,Traversal.Admin<S,E>>> traversalOptions
-
-
Constructor Detail
-
BranchStep
public BranchStep(Traversal.Admin traversal)
-
-
Method Detail
-
setBranchTraversal
public void setBranchTraversal(Traversal.Admin<S,M> branchTraversal)
-
addChildOption
public void addChildOption(M pickToken, Traversal.Admin<S,E> traversalOption)
Description copied from interface:TraversalOptionParentThe child as defined by the token it takes, likePickorMerge. This traversal may be of local or global scope depending on the step implementation that works withoption().- Specified by:
addChildOptionin interfaceTraversalOptionParent<S,E,M>
-
getRequirements
public Set<TraverserRequirement> getRequirements()
Description copied from interface:StepProvide the necessaryTraverserRequirementthat must be met by the traverser in order for the step to function properly. The provided default implements returns an empty set.- Specified by:
getRequirementsin interfaceStep<S,E>- Returns:
- the set of requirements
-
getGlobalChildren
public List<Traversal.Admin<S,E>> getGlobalChildren()
- Specified by:
getGlobalChildrenin interfaceTraversalParent
-
getLocalChildren
public List<Traversal.Admin<?,?>> getLocalChildren()
- Specified by:
getLocalChildrenin interfaceTraversalParent
-
standardAlgorithm
protected Iterator<Traverser.Admin<E>> standardAlgorithm()
- Specified by:
standardAlgorithmin classComputerAwareStep<S,E>
-
computerAlgorithm
protected Iterator<Traverser.Admin<E>> computerAlgorithm()
- Specified by:
computerAlgorithmin classComputerAwareStep<S,E>
-
clone
public BranchStep<S,E,M> clone()
Description copied from interface:StepCloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication. When cloning a step, it is important that the steps, the cloned step is equivalent to the state of the step whenStep.reset()is called. Moreover, the previous and next steps should be set toEmptyStep.
-
setTraversal
public void setTraversal(Traversal.Admin<?,?> parentTraversal)
Description copied from interface:StepSet theTraversalthat this step is contained within.- Specified by:
setTraversalin interfaceStep<S,E>- Overrides:
setTraversalin classAbstractStep<S,E>- Parameters:
parentTraversal- the new traversal for this step
-
hashCode
public int hashCode()
- Overrides:
hashCodein classAbstractStep<S,E>
-
toString
public String toString()
- Overrides:
toStringin classAbstractStep<S,E>
-
reset
public void reset()
Description copied from interface:StepReset the state of the step such that it has no incoming starts. Internal states are to be reset, but any sideEffect data structures are not to be recreated.
-
-