|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.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 |