public interface GraphTraverseHandler
Graph object.
When invoking the method
Graph#traverse(org.eclipse.emf.common.util.EList, GRAPH_TRAVERSE_TYPE, String, GraphTraverseHandler)
an object implementing this interface must be passed. This interface contains
three methods
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, Relation, Node, long),
#nodeReached(GRAPH_TRAVERSE_TYPE, String, Node, Relation, Node, long)
and
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, Node, Relation, Node, long).
If the traversal reaches a new Node object being contained in the
Graph object, the method
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, Relation, Node, long)
will be invoked. If this method returns true, it means that this node and
eventually its sub-graph will also be traversed. When true is returned, the
method
#nodeReached(GRAPH_TRAVERSE_TYPE, String, Node, Relation, Node, long)
will be invoked, when reaching the node and
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, Node, Relation, Node, long)
when leaving the node.| Modifier and Type | Method and Description |
|---|---|
boolean |
checkConstraint(SGraph.GRAPH_TRAVERSE_TYPE traversalType,
String traversalId,
SRelation<SNode,SNode> relation,
SNode currNode,
long order)
This method is called during a traversal to check if the current node and
eventually its sub-graph shall be traversed or not.
|
void |
nodeLeft(SGraph.GRAPH_TRAVERSE_TYPE traversalType,
String traversalId,
SNode currNode,
SRelation<SNode,SNode> relation,
SNode fromNode,
long order)
This method will be invoked, when a node is left, after the method
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, SRelation, SNode, long)
has returned true and the method
#nodeReached(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
has been invoked. |
void |
nodeReached(SGraph.GRAPH_TRAVERSE_TYPE traversalType,
String traversalId,
SNode currNode,
SRelation<SNode,SNode> relation,
SNode fromNode,
long order)
This method will be invoked, when a node is reached, after the method
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, SRelation, SNode, long)
has returned true and before the method
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
is invoked. |
void nodeReached(SGraph.GRAPH_TRAVERSE_TYPE traversalType, String traversalId, SNode currNode, SRelation<SNode,SNode> relation, SNode fromNode, long order)
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, SRelation, SNode, long)
has returned true and before the method
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
is invoked.traversalType - the type of current traversaltraversalId - the id of current traversal, given by the invoking objectcurrNode - the current noderelation - the relation via which the current node was reachedfromNode - the parent nodeorder - the number of the relation in the parent nodevoid nodeLeft(SGraph.GRAPH_TRAVERSE_TYPE traversalType, String traversalId, SNode currNode, SRelation<SNode,SNode> relation, SNode fromNode, long order)
#checkConstraint(GRAPH_TRAVERSE_TYPE, String, SRelation, SNode, long)
has returned true and the method
#nodeReached(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
has been invoked.traversalType - the type of current traversaltraversalId - the id of current traversal, given by the invoking objectcurrNode - the current noderelation - the relation via which the current node was reachedfromNode - the parent nodeorder - the number of the relation in the parent nodeboolean checkConstraint(SGraph.GRAPH_TRAVERSE_TYPE traversalType, String traversalId, SRelation<SNode,SNode> relation, SNode currNode, long order)
#nodeReached(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
and
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
as well will not be invoked. Otherwise the method
#nodeReached(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
will be invoked, when a new node is reached and
#nodeLeft(GRAPH_TRAVERSE_TYPE, String, SNode, SRelation, SNode, long)
will be invoked, when this node is left.traversalType - the type of current traversaltraversalId - the id of current traversal, given by the invoking objectrelation - the relation via which the current node was reachedcurrNode - the current nodeorder - the number of the relation in the parent nodeCopyright © 2009–2015 Humboldt-Universität zu Berlin, INRIA. All rights reserved.