Package org.neo4j.graphdb.traversal
Interface TraversalBranch
Represents a
position
and a PathExpander
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.-
Method Summary
Modifier and TypeMethodDescriptionboolean
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 thisTraversalBranch
, the relationship iterator,Evaluation
etc.next
(PathExpander expander, TraversalContext metadata) Returns the next expansion source from the expanded relationships from the current node.parent()
The parent expansion source which created thisTraversalBranch
.void
prune()
Explicitly tell this branch to be pruned so that consecutive calls tonext(PathExpander, TraversalContext)
is guaranteed to returnnull
.state()
Returns the state associated with this branch.Methods inherited from interface org.neo4j.graphdb.Path
endNode, iterator, lastRelationship, length, nodes, relationships, reverseNodes, reverseRelationships, startNode, toString
-
Method Details
-
parent
TraversalBranch parent()The parent expansion source which created thisTraversalBranch
.- Returns:
- the parent of this expansion source.
-
next
Returns the next expansion source from the expanded relationships from the current node.- Parameters:
expander
- an expander to decide which relationships to followmetadata
- the context of the traversal- Returns:
- the next expansion source from this expansion source.
-
expanded
int expanded()Returns the number of relationships this expansion source has expanded. In this count isn't included the relationship which led to coming here (since that could also be traversed, although skipped, when expanding this source).- Returns:
- the number of relationships this expansion source has expanded.
-
prune
void prune()Explicitly tell this branch to be pruned so that consecutive calls tonext(PathExpander, TraversalContext)
is guaranteed to returnnull
. -
continues
boolean continues()- Returns:
- whether or not the traversal should continue further along this branch.
-
includes
boolean includes()- Returns:
- whether or not this branch (the
Path
representation of this branch at least) should be included in the result of this traversal, i.e. returned as one of thePath
s from f.ex.TraversalDescription.traverse(org.neo4j.graphdb.Node...)
-
evaluation
Can change evaluation outcome in a negative direction. For example to force pruning.- Parameters:
eval
- theEvaluation
to AND with the current evaluation.
-
initialize
Initializes thisTraversalBranch
, the relationship iterator,Evaluation
etc.- Parameters:
expander
-PathExpander
to use for getting relationships.metadata
-TraversalContext
to update on progress.
-
state
Object state()Returns the state associated with this branch. Why is this of typeObject
? The state object type only exists when specifying the expander in theTraversalDescription
, not anywhere else. So in the internals of the traversal the state type is unknown and ignored.- Returns:
- the state associated with this branch.
-