public final class ProjectedTraverser<T,P> extends Object implements Traverser.Admin<T>
Traverser.Admin<T>Attachable.Exceptions, Attachable.MethodHALT| Constructor and Description |
|---|
ProjectedTraverser(Traverser.Admin<T> baseTraverser,
List<P> projections) |
| Modifier and Type | Method and Description |
|---|---|
void |
addLabels(Set<String> labels) |
T |
attach(Function<Attachable<T>,T> method)
Regenerate the detached traverser given its location at a particular vertex.
|
long |
bulk()
A traverser may represent a grouping of traversers to allow for more efficient data propagation.
|
ProjectedTraverser<T,P> |
clone()
Traverser cloning is important when splitting a traverser at a bifurcation point in a traversal.
|
Traverser.Admin<T> |
detach()
Prepare the traverser for migration across a JVM boundary.
|
void |
dropLabels(Set<String> labels)
Drop all path information associated with specified labels.
|
void |
dropPath()
Drop the path of the traverser.
|
boolean |
equals(Object object) |
T |
get()
Get the object that the traverser is current at.
|
List<P> |
getProjections() |
TraversalSideEffects |
getSideEffects()
Get the sideEffects associated with the traversal of the traverser.
|
String |
getStepId()
Get the step id of where the traverser is located.
|
Set<String> |
getTags()
Get the tags associated with the traverser.
|
int |
hashCode() |
void |
incrLoops()
Increment the number of times the traverser has gone through a looping section of traversal.
|
void |
initialiseLoops(String stepLabel,
String loopName)
Initialise a loop by setting up the looping construct.
|
void |
keepLabels(Set<String> labels)
Drop all path information not associated with specified labels.
|
int |
loops()
Return the number of times the traverser has gone through a looping section of a traversal.
|
int |
loops(String loopName)
Return the number of times the traverser has gone through the named looping section of a traversal.
|
void |
merge(Traverser.Admin<?> other)
When two traversers are have equality with each other, then they can be merged.
|
Path |
path()
Get the current path of the traverser.
|
void |
resetLoops()
Set the number of times the traverser has gone through a loop back to 0.
|
<S> S |
sack()
Get the sack local sack object of this traverser.
|
<S> void |
sack(S object)
Set the traversers sack object to the provided value ("sack the value").
|
void |
set(T t)
Set the current object location of the traverser.
|
void |
setBulk(long count)
Set the number of traversers represented by this traverser.
|
void |
setSideEffects(TraversalSideEffects sideEffects)
Set the sideEffects of the
Traversal. |
void |
setStepId(String stepId)
Set the step id of where the traverser is located.
|
Traverser.Admin<T> |
split()
Generate a sibling traverser of the current traverser with a full copy of all state within the sibling.
|
<R> Traverser.Admin<R> |
split(R r,
Step<T,R> step)
Generate a child traverser of the current traverser for current as step and new object location.
|
String |
toString() |
static <T> Traverser.Admin<T> |
tryUnwrap(Traverser.Admin<T> traverser) |
finalize, getClass, notify, notifyAll, wait, wait, waitisHaltedasAdmin, compareTo, path, path, sideEffects, sideEffectspublic ProjectedTraverser(Traverser.Admin<T> baseTraverser, List<P> projections)
public void merge(Traverser.Admin<?> other)
Traverser.Adminmerge in interface Traverser.Admin<T>other - the other traverser to merge into this traverser. Once merged, the other can be garbage collected.public <R> Traverser.Admin<R> split(R r, Step<T,R> step)
Traverser.Adminsplit in interface Traverser.Admin<T>R - The current object type of the childr - The current object of the childstep - The step yielding the splitpublic Traverser.Admin<T> split()
Traverser.Adminsplit in interface Traverser.Admin<T>public void addLabels(Set<String> labels)
addLabels in interface Traverser.Admin<T>public void keepLabels(Set<String> labels)
Traverser.AdminkeepLabels in interface Traverser.Admin<T>labels - the labels to keep path information for.public void dropLabels(Set<String> labels)
Traverser.AdmindropLabels in interface Traverser.Admin<T>labels - the labels to drop path information for.public void dropPath()
Traverser.AdmindropPath in interface Traverser.Admin<T>public void set(T t)
Traverser.Adminset in interface Traverser.Admin<T>t - The current object of the traverserpublic void initialiseLoops(String stepLabel, String loopName)
Traverser.AdminLoopsStepinitialiseLoops in interface Traverser.Admin<T>stepLabel - the label of the step that is being set-up.loopName - the user defined name for referencing the loop counter or null if not setpublic void incrLoops()
Traverser.AdminincrLoops in interface Traverser.Admin<T>public void resetLoops()
Traverser.AdminresetLoops in interface Traverser.Admin<T>public String getStepId()
Traverser.AdmingetStepId in interface Traverser.Admin<T>public void setStepId(String stepId)
Traverser.AdminTraverser.Admin.HALT, then Traverser.Admin.isHalted() is true.setStepId in interface Traverser.Admin<T>stepId - The future step of the traverserpublic void setBulk(long count)
Traverser.AdminsetBulk in interface Traverser.Admin<T>count - the number of traverserspublic Traverser.Admin<T> detach()
Traverser.Admindetach in interface Traverser.Admin<T>public T attach(Function<Attachable<T>,T> method)
Traverser.Adminattach in interface Traverser.Admin<T>attach in interface Attachable<T>method - The method by which to attach a Traverser to an vertex.public void setSideEffects(TraversalSideEffects sideEffects)
Traverser.AdminTraversal. Given that traversers can move between machines,
it may be important to re-set this when the traverser crosses machine boundaries.setSideEffects in interface Traverser.Admin<T>sideEffects - the sideEffects of the traversal.public TraversalSideEffects getSideEffects()
Traverser.AdmingetSideEffects in interface Traverser.Admin<T>public Set<String> getTags()
Traverser.AdmingetTags in interface Traverser.Admin<T>public T get()
Traverserpublic <S> S sack()
Traverserpublic <S> void sack(S object)
Traverserpublic Path path()
Traverserpublic int loops()
Traverserpublic int loops(String loopName)
Traverserpublic long bulk()
Traverserpublic ProjectedTraverser<T,P> clone()
Traverserpublic static <T> Traverser.Admin<T> tryUnwrap(Traverser.Admin<T> traverser)
Copyright © 2013–2019 Apache Software Foundation. All rights reserved.