Class MatchStep<S,E>
- java.lang.Object
-
- org.apache.tinkerpop.gremlin.process.traversal.step.util.AbstractStep<S,E>
-
- org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep<S,Map<String,E>>
-
- org.apache.tinkerpop.gremlin.process.traversal.step.map.MatchStep<S,E>
-
- All Implemented Interfaces:
Serializable
,AutoCloseable
,Cloneable
,Iterator<Traverser.Admin<Map<String,E>>>
,Step<S,Map<String,E>>
,GraphComputing
,PathProcessor
,Scoping
,TraversalParent
public final class MatchStep<S,E> extends ComputerAwareStep<S,Map<String,E>> implements TraversalParent, Scoping, PathProcessor
- Author:
- Marko A. Rodriguez (http://markorodriguez.com)
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
MatchStep.CountMatchAlgorithm
static class
MatchStep.GreedyMatchAlgorithm
static class
MatchStep.Helper
static interface
MatchStep.MatchAlgorithm
static class
MatchStep.MatchEndStep
static class
MatchStep.MatchStartStep
static class
MatchStep.TraversalType
-
Nested classes/interfaces inherited from class org.apache.tinkerpop.gremlin.process.traversal.step.util.ComputerAwareStep
ComputerAwareStep.EndStep<S>
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.PathProcessor
PathProcessor.ElementRequirement
-
Nested classes/interfaces inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.Scoping
Scoping.KeyNotFoundException, Scoping.Variable
-
-
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 MatchStep(Traversal.Admin traversal, ConnectiveStep.Connective connective, Traversal... matchTraversals)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addGlobalChild(Traversal.Admin<?,?> globalChildTraversal)
MatchStep<S,E>
clone()
Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.protected Iterator<Traverser.Admin<Map<String,E>>>
computerAlgorithm()
ConnectiveStep.Connective
getConnective()
List<Traversal.Admin<Object,Object>>
getGlobalChildren()
Set<String>
getKeepLabels()
MatchStep.MatchAlgorithm
getMatchAlgorithm()
Set<String>
getMatchEndLabels()
Set<String>
getMatchStartLabels()
Set<TraverserRequirement>
getRequirements()
Provide the necessaryTraverserRequirement
that must be met by the traverser in order for the step to function properly.Set<String>
getScopeKeys()
Get the labels that this scoping step will access during the traversalint
hashCode()
void
removeGlobalChild(Traversal.Admin<?,?> globalChildTraversal)
void
reset()
Reset the state of the step such that it has no incoming starts.void
setDedupLabels(Set<String> labels)
void
setKeepLabels(Set<String> keepLabels)
void
setMatchAlgorithm(Class<? extends MatchStep.MatchAlgorithm> matchAlgorithmClass)
void
setTraversal(Traversal.Admin<?,?> parentTraversal)
Set theTraversal
that this step is contained within.protected Iterator<Traverser.Admin<Map<String,E>>>
standardAlgorithm()
String
toString()
-
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.PathProcessor
getMaxRequirement
-
Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.Scoping
getNullableScopeValue, getSafeScopeValue, getScopeValue
-
Methods inherited from interface org.apache.tinkerpop.gremlin.process.traversal.step.TraversalParent
addLocalChild, asStep, close, getLocalChildren, getSelfAndChildRequirements, integrateChild, removeLocalChild, replaceLocalChild
-
-
-
-
Constructor Detail
-
MatchStep
public MatchStep(Traversal.Admin traversal, ConnectiveStep.Connective connective, Traversal... matchTraversals)
-
-
Method Detail
-
getConnective
public ConnectiveStep.Connective getConnective()
-
addGlobalChild
public void addGlobalChild(Traversal.Admin<?,?> globalChildTraversal)
- Specified by:
addGlobalChild
in interfaceTraversalParent
-
removeGlobalChild
public void removeGlobalChild(Traversal.Admin<?,?> globalChildTraversal)
- Specified by:
removeGlobalChild
in interfaceTraversalParent
-
getGlobalChildren
public List<Traversal.Admin<Object,Object>> getGlobalChildren()
- Specified by:
getGlobalChildren
in interfaceTraversalParent
-
setKeepLabels
public void setKeepLabels(Set<String> keepLabels)
- Specified by:
setKeepLabels
in interfacePathProcessor
-
getKeepLabels
public Set<String> getKeepLabels()
- Specified by:
getKeepLabels
in interfacePathProcessor
-
getScopeKeys
public Set<String> getScopeKeys()
Description copied from interface:Scoping
Get the labels that this scoping step will access during the traversal- Specified by:
getScopeKeys
in interfaceScoping
- Returns:
- the accessed labels of the scoping step
-
reset
public void reset()
Description copied from interface:Step
Reset 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.
-
setMatchAlgorithm
public void setMatchAlgorithm(Class<? extends MatchStep.MatchAlgorithm> matchAlgorithmClass)
-
getMatchAlgorithm
public MatchStep.MatchAlgorithm getMatchAlgorithm()
-
clone
public MatchStep<S,E> clone()
Description copied from interface:Step
Cloning 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:Step
Set theTraversal
that this step is contained within.- Specified by:
setTraversal
in interfaceStep<S,E>
- Overrides:
setTraversal
in classAbstractStep<S,Map<String,E>>
- Parameters:
parentTraversal
- the new traversal for this step
-
standardAlgorithm
protected Iterator<Traverser.Admin<Map<String,E>>> standardAlgorithm() throws NoSuchElementException
- Specified by:
standardAlgorithm
in classComputerAwareStep<S,Map<String,E>>
- Throws:
NoSuchElementException
-
computerAlgorithm
protected Iterator<Traverser.Admin<Map<String,E>>> computerAlgorithm() throws NoSuchElementException
- Specified by:
computerAlgorithm
in classComputerAwareStep<S,Map<String,E>>
- Throws:
NoSuchElementException
-
getRequirements
public Set<TraverserRequirement> getRequirements()
Description copied from interface:Step
Provide the necessaryTraverserRequirement
that must be met by the traverser in order for the step to function properly. The provided default implements returns an empty set.- Specified by:
getRequirements
in interfaceStep<S,E>
- Returns:
- the set of requirements
-
-