|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
public interface StopEvaluator
A client hook for evaluating whether the traverser should traverse beyond a specific node. This is used for pruning the traversal.
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" );
}
};
Field Summary | |
---|---|
static StopEvaluator |
DEPTH_ONE
Traverses to depth 1. |
static StopEvaluator |
END_OF_GRAPH
Traverse until the end of the graph. |
Method Summary | |
---|---|
boolean |
isStopNode(TraversalPosition currentPos)
Method invoked by traverser to see if current position is a stop node. |
Field Detail |
---|
static final StopEvaluator END_OF_GRAPH
false
all the time.
static final StopEvaluator DEPTH_ONE
Method Detail |
---|
boolean isStopNode(TraversalPosition currentPos)
currentPos
- the traversal position
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |