org.neo4j.graphalgo.impl.util
Class LiteDepthFirstSelector

java.lang.Object
  extended by org.neo4j.graphalgo.impl.util.LiteDepthFirstSelector
All Implemented Interfaces:
BranchSelector

public class LiteDepthFirstSelector
extends Object
implements BranchSelector

A preorder depth first selector which detects "super nodes", i.e. nodes which has many relationships. It delays traversing those super nodes until after all non-super nodes have been traversed.

Author:
Mattias Persson, Tobias Ivarsson

Constructor Summary
LiteDepthFirstSelector(TraversalBranch startSource, int startThreshold)
           
 
Method Summary
 TraversalBranch next()
          Decides the next position ("where to go from here") from the current position, based on the rules.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

LiteDepthFirstSelector

public LiteDepthFirstSelector(TraversalBranch startSource,
                              int startThreshold)
Method Detail

next

public TraversalBranch next()
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 TraversalBranch.node() of the position and the TraversalBranch.relationship() to how it got there as well as TraversalBranch.position(), decisions can be based on the current expansion source and the given rules.

Specified by:
next in interface BranchSelector
Returns:
the next position based on the current position and the rules of the traversal.


Copyright © 2002-2012 The Neo4j Graph Database Project. All Rights Reserved.