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. 
 - 
 
 -