public abstract class CollectingBarrierStep<S> extends AbstractStep<S,S> implements Barrier<TraverserSet<S>>
Modifier and Type | Field and Description |
---|---|
protected TraverserSet<S> |
traverserSet |
id, labels, nextEnd, nextStep, previousStep, starts, traversal, traverserStepIdAndLabelsSetByChild
Constructor and Description |
---|
CollectingBarrierStep(Traversal.Admin traversal) |
CollectingBarrierStep(Traversal.Admin traversal,
int maxBarrierSize) |
Modifier and Type | Method and Description |
---|---|
void |
addBarrier(TraverserSet<S> barrier)
Add a barrier to the step.
|
abstract void |
barrierConsumer(TraverserSet<S> traverserSet) |
CollectingBarrierStep<S> |
clone()
Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.
|
MemoryComputeKey<TraverserSet<S>> |
getMemoryComputeKey()
The
MemoryComputeKey that will be used by this step. |
Set<TraverserRequirement> |
getRequirements()
Provide the necessary
TraverserRequirement that must be met by the traverser in order for the step to
function properly. |
int |
hashCode() |
boolean |
hasNextBarrier()
Whether or not the step has an accessible barrier.
|
TraverserSet<S> |
nextBarrier()
Get the next barrier within this step.
|
void |
processAllStarts()
Process all left traversers by do not yield the resultant output.
|
Traverser.Admin<S> |
processNextStart() |
void |
reset()
Reset the state of the step such that it has no incoming starts.
|
String |
toString() |
addLabel, addStart, addStarts, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hasNext, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, setId, setNextStep, setPreviousStep, setTraversal
finalize, getClass, notify, notifyAll, wait, wait, wait
forEachRemaining, remove
protected TraverserSet<S> traverserSet
public CollectingBarrierStep(Traversal.Admin traversal)
public CollectingBarrierStep(Traversal.Admin traversal, int maxBarrierSize)
public abstract void barrierConsumer(TraverserSet<S> traverserSet)
public Set<TraverserRequirement> getRequirements()
Step
TraverserRequirement
that must be met by the traverser in order for the step to
function properly. The provided default implements returns an empty set.getRequirements
in interface Step<S,S>
public void processAllStarts()
Barrier
ReducingBarrierStep
, where traversers can be processed "on the fly" and thus, reduce memory consumption.processAllStarts
in interface Barrier<TraverserSet<S>>
public boolean hasNextBarrier()
Barrier
hasNextBarrier
in interface Barrier<TraverserSet<S>>
public TraverserSet<S> nextBarrier() throws NoSuchElementException
Barrier
nextBarrier
in interface Barrier<TraverserSet<S>>
NoSuchElementException
public void addBarrier(TraverserSet<S> barrier)
Barrier
addBarrier
in interface Barrier<TraverserSet<S>>
barrier
- the barrier to merge inpublic Traverser.Admin<S> processNextStart()
processNextStart
in class AbstractStep<S,S>
public CollectingBarrierStep<S> clone()
Step
Step.reset()
is called. Moreover, the previous and next steps should be set to EmptyStep
.public String toString()
toString
in class AbstractStep<S,S>
public int hashCode()
hashCode
in class AbstractStep<S,S>
public void reset()
Step
public MemoryComputeKey<TraverserSet<S>> getMemoryComputeKey()
MemoryComputing
MemoryComputeKey
that will be used by this step.getMemoryComputeKey
in interface MemoryComputing<TraverserSet<S>>
Copyright © 2013–2022 Apache Software Foundation. All rights reserved.