|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectorg.neo4j.kernel.impl.traversal.TraversalDescriptionImpl
public final class TraversalDescriptionImpl
Constructor Summary | |
---|---|
TraversalDescriptionImpl()
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Constructor Detail |
---|
public TraversalDescriptionImpl()
Method Detail |
---|
public Traverser traverse(Node startNode)
TraversalDescription
startNode
based on all the rules and behavior
in this description. A Traverser
is returned which is
used to step through the graph and getting results back. The traversal
is not guaranteed to start before the Traverser is used.
traverse
in interface TraversalDescription
startNode
- the Node
to start the traversal from.
Traverser
used to step through the graph and to get
results from.public TraversalDescription uniqueness(UniquenessFactory uniqueness)
TraversalDescription
UniquenessFactory
for creating the
UniquenessFilter
to use.
uniqueness
in interface TraversalDescription
uniqueness
- the UniquenessFactory
the creator
of the desired UniquenessFilter
to use.
public TraversalDescription uniqueness(UniquenessFactory uniqueness, Object parameter)
TraversalDescription
UniquenessFactory
for creating the
UniquenessFilter
to use. It also accepts an extra parameter
which is mandatory for certain uniqueness's, f.ex
Uniqueness.NODE_RECENT
.
uniqueness
in interface TraversalDescription
uniqueness
- the UniquenessFactory
the creator
of the desired UniquenessFilter
to use.
public TraversalDescription prune(PruneEvaluator pruning)
TraversalDescription
pruning
to the list of PruneEvaluator
s which
are used to prune the traversal. The semantics for many prune evaluators
is that if any one of the added prune evaluators returns true
it's considered OK to prune there.
prune
in interface TraversalDescription
pruning
- the PruneEvaluator
to add to the list of prune
evaluators to use.
public TraversalDescription filter(Predicate<Path> filter)
TraversalDescription
filter
to the list of filters to use, i.e. a filter to
decide which positions are OK to return or not.
Each position is represented by a Path
from the start node of the
traversal to the current node. The current node is the
Path.endNode()
of the path. Each Path
must be accepted
by all added filter for it to be returned from the traverser. For adding
a filter which returns paths accepted by any filters, see
Traversal.returnAcceptedByAny(Predicate...)
for convenience.
filter
in interface TraversalDescription
filter
- the Predicate
to add to the list of filters.
public TraversalDescription evaluator(Evaluator evaluator)
TraversalDescription
TraversalDescription.filter(Predicate)
and
TraversalDescription.prune(PruneEvaluator)
.
Adds evaluator
to the list of evaluators which will control the
behaviour of the traversal. Each Evaluator
can decide whether or
not to include a position in the traverser result, i.e. return it from
the Traverser
iterator and also whether to continue down that
path or to prune, so that the traverser won't continue further down that
path.
Multiple Evaluator
s can be added. For a path to be included in
the result, all evaluators must agree to include it, i.e. returning
either Evaluation.INCLUDE_AND_CONTINUE
or
Evaluation.INCLUDE_AND_PRUNE
. For making the traversal continue
down that path all evaluators must agree to continue from that path, i.e.
returning either Evaluation.INCLUDE_AND_CONTINUE
or
Evaluation.EXCLUDE_AND_CONTINUE
.
evaluator
in interface TraversalDescription
public TraversalDescription order(BranchOrderingPolicy selector)
TraversalDescription
BranchOrderingPolicy
to use. A BranchSelector
is the basic decisions in the traversal of "where to go next".
Examples of default implementations are "breadth first" and
"depth first", which can be set with convenience methods
TraversalDescription.breadthFirst()
and TraversalDescription.depthFirst()
.
order
in interface TraversalDescription
selector
- the factory which creates the BranchSelector
to use with the traversal.
public TraversalDescription depthFirst()
TraversalDescription
TraversalDescription.order(BranchOrderingPolicy)
where a "preorder depth first" selector is used. Positions which are
deeper than the current position will be returned before positions on
the same depth. See http://en.wikipedia.org/wiki/Depth-first_search
depthFirst
in interface TraversalDescription
public TraversalDescription breadthFirst()
TraversalDescription
TraversalDescription.order(BranchOrderingPolicy)
where a "preorder breadth first" selector is used. All positions with
the same depth will be returned before advancing to the next depth.
See http://en.wikipedia.org/wiki/Breadth-first_search
breadthFirst
in interface TraversalDescription
public TraversalDescription relationships(RelationshipType type)
TraversalDescription
type
to the list of relationship types to traverse.
There's no priority or order in which types to traverse.
relationships
in interface TraversalDescription
type
- the RelationshipType
to add to the list of types
to traverse.
public TraversalDescription relationships(RelationshipType type, Direction direction)
TraversalDescription
type
to the list of relationship types to traverse in
the given direction
. There's no priority or order in which
types to traverse.
relationships
in interface TraversalDescription
type
- the RelationshipType
to add to the list of types
to traverse.direction
- the Direction
to traverse this type of
relationship in.
public TraversalDescription expand(RelationshipExpander expander)
TraversalDescription
RelationshipExpander
as the expander of relationships,
discarding all previous calls to
TraversalDescription.relationships(RelationshipType)
and
TraversalDescription.relationships(RelationshipType, Direction)
.
expand
in interface TraversalDescription
expander
- the RelationshipExpander
to use.
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |