|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.yworks.yfiles.server.graphml.support.NodeHierarchy
Provides static utility functions to query and modify the the node hierarchy of a grouped
LayoutGraph.
Internally, the hierarchy is managed using data providers that can be obtained from the graph using the following keys:
GroupingKeys.NODE_ID_DPKEY - Stores an id for each node. In a yFiles FLEX server component,
the NODE_ID_DPKEY data provider is the same instance as the
AbstractGraphRoundtripSupport.NODE_2_ID_DPKEY data provider.GroupingKeys.PARENT_NODE_ID_DPKEY - Stores the parent node id for each grouped node.GroupingKeys.GROUP_DPKEY - Stores whether a node is considered a group node.
A group node may have children.
LayoutGraph| Method Summary | |
static void |
enableGrouping(Graph graph)
Adds the DataProviders that are required for working with hierarchic layout graphs
and calls transferMapperIDs(y.base.Graph). |
static NodeList |
getChildren(Node parent)
Returns a list of all child nodes of the given parent node. |
static NodeList |
getNeighbors(Node node)
Returns a list containing the given node and all it's neighbor nodes. |
static NodeList |
getNodes(Graph graph)
Returns a node cursor that allows for breadth-first iteration over the node hierarchy of the provided graph. |
static Node |
getParent(Node child)
Get the parent node of the provided node. |
static NodeList |
getTopLevelNodes(Graph graph)
Returns a cursor over all top level nodes of the provided graph, i.e., all nodes for which NodeHierarchy.getParent( node ) yields null. |
static boolean |
isGroupNode(Node node)
Whether the given node is considered a group node. |
static void |
setGroupNode(Node node,
boolean isGroupNode)
Set whether the provided node should be considered a group node. |
static void |
setParent(NodeList children,
Node parent)
Adds all nodes contained in the provided NodeList as children
of the provided parent node. |
static void |
setParent(Node child,
Node parent)
Set the parent node for a given node. |
static void |
transferMapperIDs(Graph graph)
Replaces the DataProvider for grouping keys with the id data provider used by yFiles FLEX. |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Method Detail |
public static Node getParent(Node child)
null is returned.
child - The child node
null if child is a top-level node.
public static void setParent(Node child,
Node parent)
child a top-level node, pass null as the
parent.
Calls enableGrouping(y.base.Graph) to make sure that the graph instance supports hierarchies.
child - The node to assign a new parent.parent - The parent node to assign to child.
java.lang.UnsupportedOperationException - if parent
is a child of child, or parent equals child.
public static void setParent(NodeList children,
Node parent)
NodeList as children
of the provided parent node.
children - A list of nodes to be added as children of the provided parent node.parent - The parent node.
public static void setGroupNode(Node node,
boolean isGroupNode)
node - A nodeisGroupNode - Whether to consider the given node a group node.public static boolean isGroupNode(Node node)
This method may return true, even if the given node doesn't have any child nodes.
node - A node.
public static NodeList getChildren(Node parent)
parent - A parent node
public static NodeList getNeighbors(Node node)
If the given node is top-level, all top-level nodes are returned. Otherwise all child nodes of the given node's parent node are returned.
node - The node to get the neighbors for.
public static void enableGrouping(Graph graph)
DataProviders that are required for working with hierarchic layout graphs
and calls transferMapperIDs(y.base.Graph).
GroupingKeys,
transferMapperIDs(y.base.Graph)public static NodeList getNodes(Graph graph)
graph - The graph for which to return a hierarchy iterator
public static NodeList getTopLevelNodes(Graph graph)
NodeHierarchy.getParent( node ) yields null.
graph - A graph
public static void transferMapperIDs(Graph graph)
After using this
function, graph.getDataProvider( GroupingKeys.NODE_ID_DPKEY ) and
graph.getDataProvider(AbstractGraphRoundtripSupport.NODE_2_ID_DPKEY ) will yield the same instance.
This instance will automatically generate ids for newly created nodes.
Clients should only call this function if the graph is read directly using a GraphML I/O handler instance.
AbstractGraphRoundtripSupport.NODE_2_ID_DPKEY,
GroupingKeys.NODE_ID_DPKEY,
GroupingKeys.PARENT_NODE_ID_DPKEY
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||