org.neo4j.kernel
Class AlternatingSelectorOrderer

java.lang.Object
  extended by org.neo4j.kernel.AbstractSelectorOrderer<Integer>
      extended by org.neo4j.kernel.AlternatingSelectorOrderer
All Implemented Interfaces:
BranchSelector, SideSelector

public class AlternatingSelectorOrderer
extends AbstractSelectorOrderer<Integer>


Constructor Summary
AlternatingSelectorOrderer(BranchSelector startSelector, BranchSelector endSelector)
           
 
Method Summary
protected  Integer initialState()
           
 TraversalBranch next(TraversalContext metadata)
          Decides the next position ("where to go from here") from the current position, based on the rules.
 
Methods inherited from class org.neo4j.kernel.AbstractSelectorOrderer
currentSide, endCurrentSelector, getStateForCurrentSelector, nextBranchFromCurrentSelector, nextBranchFromNextSelector, nextSelector, setStateForCurrentSelector
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

AlternatingSelectorOrderer

public AlternatingSelectorOrderer(BranchSelector startSelector,
                                  BranchSelector endSelector)
Method Detail

initialState

protected Integer initialState()
Overrides:
initialState in class AbstractSelectorOrderer<Integer>

next

public TraversalBranch next(TraversalContext metadata)
Description copied from interface: BranchSelector
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-2013 The Neo4j Graph Database Project. All Rights Reserved.