Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Neo4j Community
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

## org.neo4j.graphdb
Interface StopEvaluator

    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

### END_OF_GRAPH

    static final StopEvaluator END_OF_GRAPH

  Traverse until the end of the graph. This evaluator returns `false` all the time.

### DEPTH_ONE

    static final StopEvaluator DEPTH_ONE

  Traverses to depth 1.

Method Detail

### isStopNode

    boolean isStopNode(TraversalPosition currentPos)

  Method invoked by traverser to see if current position is a stop node.

  Parameters:
    `currentPos` - the traversal position
  Returns:
    True if current position is a stop node

Overview | Package | Class | Use | Tree | Deprecated | Index | Help
| Neo4j Community
PREV CLASS NEXT CLASS | FRAMES NO FRAMES
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD

Copyright © 2011 The Neo4j Graph Database Project. All Rights Reserved.