TraversalDescription
and
Traversal
and the new traversal framework's equivalent
Evaluator
.public interface StopEvaluator
When a traverser is created, the client parameterizes it with a
StopEvaluator. The traverser then invokes the isStopNode()
operation just before traversing the relationships of a node,
allowing the client to either approve or disapprove of traversing beyond that
node.
When implementing a StopEvaluator, the client investigates the information
encapsulated in a TraversalPosition
to decide whether to block
traversal beyond a node or not. For example, here's a snippet detailing a
StopEvaluator that blocks traversal beyond a node if it has a certain
property value:
StopEvaluator stopEvaluator = new StopEvaluator()
{
// Block traversal if the node has a property with key 'key' and value
// 'someValue'
public boolean isStopNode
( TraversalPosition
position )
{
if ( position.isStartNode
() )
{
return false;
}
Node
node = position.currentNode
();
Object someProp = node.getProperty
( "key", null );
return someProp instanceof String &&
((String) someProp).equals( "someValue" );
}
};
Modifier and Type | Field and Description |
---|---|
static StopEvaluator |
DEPTH_ONE
Deprecated.
Traverses to depth 1.
|
static StopEvaluator |
END_OF_GRAPH
Deprecated.
Traverse until the end of the graph.
|
Modifier and Type | Method and Description |
---|---|
boolean |
isStopNode(TraversalPosition currentPos)
Deprecated.
Method invoked by traverser to see if current position is a stop node.
|
static final StopEvaluator END_OF_GRAPH
false
all the time.static final StopEvaluator DEPTH_ONE
boolean isStopNode(TraversalPosition currentPos)
currentPos
- the traversal positionCopyright © 2002–2014 The Neo4j Graph Database Project. All rights reserved.