|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Objectcom.yworks.yfiles.server.graphml.flexio.data.DefaultNodeHierarchy
A default implementation of INodeHierarchy
using the utility functions offered by
NodeHierarchy
.
Constructor Summary | |
DefaultNodeHierarchy(Graph graph)
Creates a new instance of a DefaultNodeHierarchy which uses the specified graph to work on. |
Method Summary | |
void |
enableGrouping()
Adds the DataProviders that are required for working with hierarchic layout graphs
and calls transferMapperIDs() . |
NodeList |
getChildren(Node parent)
Returns a list of all child nodes of the given parent node. |
NodeList |
getNeighbors(Node node)
Returns a list containing the given node and all it's neighbor nodes. |
NodeList |
getNodes()
Returns a node cursor that allows for breadth-first iteration over the node hierarchy of the provided graph. |
Node |
getParent(Node child)
Gets the parent node of the provided node. |
NodeList |
getTopLevelNodes()
Returns a cursor over all top level nodes of the provided graph, i.e., all nodes for which NodeHierarchy.getParent( node ) yields null . |
boolean |
isGroupNode(Node node)
Whether the given node is considered a group node. |
void |
setGroupNode(Node node,
boolean isGroupNode)
Sets whether the provided node should be considered a group node. |
void |
setParent(NodeList children,
Node parent)
Adds all nodes contained in the provided NodeList as children
of the provided parent node. |
void |
setParent(Node child,
Node parent)
Sets the parent node for a given node. |
void |
transferMapperIDs()
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 |
Constructor Detail |
public DefaultNodeHierarchy(Graph graph)
graph
- The graph to work on.Method Detail |
public Node getParent(Node child)
INodeHierarchy
null
is returned.
getParent
in interface INodeHierarchy
child
- The child node.
null
if child
is a top-level node.public void setParent(Node child, Node parent)
INodeHierarchy
child
a top-level node, pass null
as the
parent
.
Calls INodeHierarchy.enableGrouping()
to make sure that the graph instance supports hierarchies.
setParent
in interface INodeHierarchy
child
- The node to assign a new parent.parent
- The parent node to assign to child
.public void setParent(NodeList children, Node parent)
INodeHierarchy
NodeList
as children
of the provided parent node.
setParent
in interface INodeHierarchy
children
- A list of nodes to be added as children of the provided parent node.parent
- The parent node.public void setGroupNode(Node node, boolean isGroupNode)
INodeHierarchy
setGroupNode
in interface INodeHierarchy
node
- A node.isGroupNode
- Whether to consider the given node a group node.public boolean isGroupNode(Node node)
INodeHierarchy
This method may return true
, even if the given node doesn't have any child nodes.
isGroupNode
in interface INodeHierarchy
node
- A node.
public NodeList getChildren(Node parent)
INodeHierarchy
getChildren
in interface INodeHierarchy
parent
- A parent node.
public NodeList getNeighbors(Node node)
INodeHierarchy
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.
getNeighbors
in interface INodeHierarchy
node
- The node to get the neighbors for.
public void enableGrouping()
INodeHierarchy
DataProviders
that are required for working with hierarchic layout graphs
and calls INodeHierarchy.transferMapperIDs()
.
enableGrouping
in interface INodeHierarchy
GroupingKeys
,
INodeHierarchy.transferMapperIDs()
public NodeList getNodes()
INodeHierarchy
getNodes
in interface INodeHierarchy
public NodeList getTopLevelNodes()
INodeHierarchy
NodeHierarchy.getParent( node )
yields null
.
getTopLevelNodes
in interface INodeHierarchy
public void transferMapperIDs()
INodeHierarchy
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.
transferMapperIDs
in interface INodeHierarchy
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 |