BranchSelector (Neo4j Community 2.1.0-M01 API)
Date: 2014-02-20

org.neo4j.graphdb.traversal

## Interface BranchSelector

- All Known Subinterfaces:
    SideSelector

      public interface BranchSelector

  Decides "where to go next" in a traversal. It keeps state itself, f.ex. its own current position. Examples of implementations are "depth first" and "breadth first". This is an interface to implement if you'd like to implement f.ex. a "best first" selector based on your own criteria.

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `TraversalBranch` | `next(TraversalContext metadata)` Decides the next position ("where to go from here") from the current position, based on the `rules`.

- - ### Method Detail

    - #### next

          TraversalBranch next(TraversalContext metadata)

      Decides the next position ("where to go from here") from the current position, based on the `rules`. Since `TraversalBranch` has the `Path.endNode()` of the position and the `Path.lastRelationship()` to how it got there as well as `TraversalBranch#position()`, decisions can be based on the current expansion source and the given rules.
      Returns:
        the next position based on the current position and the `rules` of the traversal.

Copyright © 2002–2014 The Neo4j Graph Database Project. All rights reserved.