public interface TraversalBranch extends Path
position and a RelationshipExpander with a
traversal context, for example parent and an iterator of relationships to go
next. It's a base to write a BranchSelector on top of.| Modifier and Type | Method and Description |
|---|---|
boolean |
continues() |
void |
evaluation(Evaluation eval)
Can change evaluation outcome in a negative direction.
|
int |
expanded()
Returns the number of relationships this expansion source has expanded.
|
boolean |
includes() |
void |
initialize(PathExpander expander,
TraversalContext metadata)
Initializes this
TraversalBranch, the relationship iterator,
Evaluation etc. |
TraversalBranch |
next(PathExpander expander,
TraversalContext metadata)
Returns the next expansion source from the expanded relationships
from the current node.
|
TraversalBranch |
parent()
The parent expansion source which created this
TraversalBranch. |
void |
prune()
Explicitly tell this branch to be pruned so that consecutive calls to
next(PathExpander, TraversalContext) is guaranteed to return
null. |
Object |
state()
Returns the state associated with this branch.
|
endNode, iterator, lastRelationship, length, nodes, relationships, reverseNodes, reverseRelationships, startNode, toStringTraversalBranch parent()
TraversalBranch.TraversalBranch next(PathExpander expander, TraversalContext metadata)
int expanded()
void prune()
next(PathExpander, TraversalContext) is guaranteed to return
null.boolean continues()
boolean includes()
Path representation of
this branch at least) should be included in the result of this
traversal, i.e. returned as one of the Paths from f.ex.
TraversalDescription.traverse(org.neo4j.graphdb.Node...)void evaluation(Evaluation eval)
eval - the Evaluation to AND with the current evaluation.void initialize(PathExpander expander, TraversalContext metadata)
TraversalBranch, the relationship iterator,
Evaluation etc.expander - RelationshipExpander to use for getting relationships.metadata - TraversalContext to update on progress.Object state()
Object? The state object type only exists when
specifying the expander in the TraversalDescription, not anywhere
else. So in the internals of the traversal the state type is unknown and ignored.Copyright © 2002–2015 The Neo4j Graph Database Project. All rights reserved.