public final class GroupStep<S,K,V> extends ReducingBarrierStep<S,Map<K,V>> implements ByModulating, TraversalParent, ProfilingAware
Modifier and Type | Class and Description |
---|---|
static class |
GroupStep.GroupBiOperator<K,V> |
ProfilingAware.ProfiledBarrier
reducingBiOperator, seedSupplier
id, labels, nextEnd, nextStep, previousStep, starts, traversal, traverserStepIdAndLabelsSetByChild
Constructor and Description |
---|
GroupStep(Traversal.Admin traversal) |
Modifier and Type | Method and Description |
---|---|
GroupStep<S,K,V> |
clone()
Cloning is used to duplicate steps for the purpose of traversal optimization and OLTP replication.
|
static <S,E> Traversal.Admin<S,E> |
convertValueTraversal(Traversal.Admin<S,E> valueTraversal) |
static <S,V> Barrier |
determineBarrierStep(Traversal.Admin<S,V> traversal)
Determines the first (non-local) barrier step in the provided traversal.
|
static <K,V> Map<K,V> |
doFinalReduction(Map<K,Object> map,
Traversal.Admin<?,V> valueTraversal) |
Map<K,V> |
generateFinalResult(Map<K,V> object)
Post-process the side-effect and return the post-processed side-effect.
|
List<Traversal.Admin<?,?>> |
getLocalChildren() |
Set<TraverserRequirement> |
getRequirements()
Provide the necessary
TraverserRequirement that must be met by the traverser in order for the step to
function properly. |
int |
hashCode() |
void |
modulateBy(Traversal.Admin<?,?> kvTraversal) |
void |
prepareForProfiling()
Reset the
Barrier on the step to be wrapped in a ProfiledBarrier which can properly start/stop
the timer on the associated ProfileStep . |
Map<K,V> |
projectTraverser(Traverser.Admin<S> traverser) |
void |
setTraversal(Traversal.Admin<?,?> parentTraversal)
Set the
Traversal that this step is contained within. |
String |
toString() |
addBarrier, done, getBiOperator, getMemoryComputeKey, getSeedSupplier, hasNextBarrier, nextBarrier, processAllStarts, processNextStart, reset, setReducingBiOperator, setSeedSupplier
addLabel, addStart, addStarts, equals, getId, getLabels, getNextStep, getPreviousStep, getStarts, getTraversal, hasNext, isTraverserStepIdAndLabelsSetByChild, next, prepareTraversalForNextStep, removeLabel, setId, setNextStep, setPreviousStep
finalize, getClass, notify, notifyAll, wait, wait, wait
modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy, modulateBy
addGlobalChild, addLocalChild, asStep, close, getGlobalChildren, getSelfAndChildRequirements, integrateChild, removeGlobalChild, removeLocalChild
forEachRemaining, remove
public GroupStep(Traversal.Admin traversal)
public static <S,V> Barrier determineBarrierStep(Traversal.Admin<S,V> traversal)
GroupStep
and GroupSideEffectStep
to ultimately determine the reducing bi-operator.traversal
- The traversal to inspect.null
if no such step was found.public void prepareForProfiling()
Barrier
on the step to be wrapped in a ProfiledBarrier
which can properly start/stop
the timer on the associated ProfileStep
.prepareForProfiling
in interface ProfilingAware
public void modulateBy(Traversal.Admin<?,?> kvTraversal)
modulateBy
in interface ByModulating
public Map<K,V> projectTraverser(Traverser.Admin<S> traverser)
projectTraverser
in class ReducingBarrierStep<S,Map<K,V>>
public List<Traversal.Admin<?,?>> getLocalChildren()
getLocalChildren
in interface TraversalParent
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.public GroupStep<S,K,V> clone()
Step
Step.reset()
is called. Moreover, the previous and next steps should be set to EmptyStep
.public void setTraversal(Traversal.Admin<?,?> parentTraversal)
Step
Traversal
that this step is contained within.setTraversal
in interface Step<S,Map<K,V>>
setTraversal
in class AbstractStep<S,Map<K,V>>
parentTraversal
- the new traversal for this steppublic Map<K,V> generateFinalResult(Map<K,V> object)
Generating
generateFinalResult
in interface Generating<Map<K,V>,Map<K,V>>
object
- the pre-processed side-effect.public static <S,E> Traversal.Admin<S,E> convertValueTraversal(Traversal.Admin<S,E> valueTraversal)
public static <K,V> Map<K,V> doFinalReduction(Map<K,Object> map, Traversal.Admin<?,V> valueTraversal)
Copyright © 2013–2020 Apache Software Foundation. All rights reserved.