Class OptionalStep<S>
- java.lang.Object
 - 
- org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<S,S>
 - 
- org.apache.tinkerpop.gremlin.process.traversal.step.branch.OptionalStep<S>
 
 
 
- 
- All Implemented Interfaces:
 Serializable,AutoCloseable,Cloneable,Iterator<Traverser.Admin<S>>,Step<S,S>,TraversalParent
public final class OptionalStep<S> extends AbstractStep<S,S> implements TraversalParent
- Author:
 - Marko A. Rodriguez (http://markorodriguez.com)
 - See Also:
 - Serialized Form
 
 
- 
- 
Field Summary
- 
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 OptionalStep(Traversal.Admin traversal, Traversal.Admin<S,S> optionalTraversal) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description OptionalStep<S>clone()Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.List<Traversal.Admin<S,S>>getLocalChildren()Set<TraverserRequirement>getRequirements()Provide the necessaryTraverserRequirementthat must be met by the traverser in order for the step to function properly.inthashCode()protected Traverser.Admin<S>processNextStart()voidreset()Reset the state of the step such that it has no incoming starts.voidsetTraversal(Traversal.Admin<?,?> parentTraversal)Set theTraversalthat this step is contained within.StringtoString()- 
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 java.util.Iterator
forEachRemaining, remove 
- 
Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.TraversalParent
addGlobalChild, addLocalChild, asStep, close, getGlobalChildren, getSelfAndChildRequirements, integrateChild, removeGlobalChild, removeLocalChild, replaceLocalChild 
 - 
 
 - 
 
- 
- 
Constructor Detail
- 
OptionalStep
public OptionalStep(Traversal.Admin traversal, Traversal.Admin<S,S> optionalTraversal)
 
 - 
 
- 
Method Detail
- 
processNextStart
protected Traverser.Admin<S> processNextStart() throws NoSuchElementException
- Specified by:
 processNextStartin classAbstractStep<S,S>- Throws:
 NoSuchElementException
 
- 
getLocalChildren
public List<Traversal.Admin<S,S>> getLocalChildren()
- Specified by:
 getLocalChildrenin interfaceTraversalParent
 
- 
clone
public OptionalStep<S> 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,S>- Overrides:
 setTraversalin classAbstractStep<S,S>- Parameters:
 parentTraversal- the new traversal for this step
 
- 
toString
public String toString()
- Overrides:
 toStringin classAbstractStep<S,S>
 
- 
hashCode
public int hashCode()
- Overrides:
 hashCodein classAbstractStep<S,S>
 
- 
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,S>- Returns:
 - the set of requirements
 
 
- 
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. 
 - 
 
 -