Search this API

y.layout.hierarchic.incremental
Interface ItemFactory


public interface ItemFactory

Factory that consistently creates and destroys helper structures in the graph during layout. An implementation of this interface is provided by the HierarchicLayouter during the layout for the different sub modules.
It is mainly for internal use.


Method Summary
 void convertToLabelNode(Node dummyNode)
          Converts a node to a label node
 Node createBendNode(Layer layer, Edge edge)
          Creates a bend node in the layer for the given edge
 Node createBendNode(Layer layer, Edge edge, SwimLaneDescriptor laneDescriptor)
          Creates a bend node in the layer for the given edge and assigns it to the given lane descriptor
 NodeData createBendNodeData(Node node, Edge edge)
          Creates bend node data for a bend node and associates it with the node
 NodeData createBendNodeData(Node node, Edge edge, SwimLaneDescriptor laneDescriptor)
          Creates bend node data for a bend node and associates it with the node.
 Node createConnectorProxyForGroup(Node groupNode, Object groupId, Layer layer, Edge e)
          Create a dummy edge that mimics a connector to a group node.
 Node createDistanceNode(Layer layer, Rectangle2D.Double size, Edge[] edges)
          Creates a spacer node for the drawing phase using the given bounds
 Edge createDummyEdge(Node newSource, Node newTarget, Edge oldEdge, boolean sourceEnd, boolean targetEnd)
          Creates a dummy edge using the given data.
 Node createEdgeGroupNode(Layer layer, Object groupId)
          Creates an edge group node
 NodeData createEdgeGroupNodeData(Node node, Object groupId, boolean source)
          Creates an edge group node data for an edge group node and associates it with the node
 Edge createGroupBorderEdge(Node source, Node target)
          Creates an edge that connects two group border nodes.
 Node createGroupBorderNode(Node groupNode, Layer layer, byte type)
          Creates a group boundary node for a group node.
 Node createGroupLayerDummyNode()
          Create a dummy node for the group layer.
 Edge createGroupNodeConnectorEdge(Node gn1, Node gn2, Edge representative)
          Creates a group node connector edge between two group nodes.
 EdgeData createNormalEdgeData(Edge edge)
          Creates edge data for a normal edge and associates it with the edge
 NodeData createNormalNodeData(Node node)
          Creates node data for a normal node and associates it with the node
 Node createProxyNode(Edge edge, boolean source)
          Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy
 Node createProxyNode(Edge edge, boolean source, SwimLaneDescriptor laneDescriptor)
          Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy.
 NodeData createProxyNodeData(Node node, Node proxy, Edge edge)
          Creates proxy node data for a proxy node and associates it with the node
 Edge createReverseDummyEdge(Node newSource, Node newTarget, Edge oldEdge, boolean sourceEnd, boolean targetEnd)
          Creates a reversed dummy edge using the given data
 EdgeData createSameLayerEdgeData(Edge edge)
          Creates edge data for a same layer edge and associates it with the edge
 Edge createSameLayerProxy(Layer layer, Edge edge, Node toProxy)
          Creates a same layer proxy node.
 Node createSameLayerSideProxy(Layer inLayer, Node forNode, Edge edge)
          Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.
 Node createSameLayerSideProxy(Layer inLayer, Node forNode, Edge edge, SwimLaneDescriptor sld)
          Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.
 Node createSameLayerSwitchProxy(Layer layer, Edge edge)
          Creates a same layer switch proxy (switching between two same layer edges on two different sides of the layer).
 EdgeData createSelfLoopEdgeData(Edge edge)
          Creates edge data for a self loop edge and associates it with the edge
 void destroyDistanceNode(Node distanceNode)
          Destroys a previously created spacer node for the drawing phase.
 void destroyLabelNodeLayer(Layer layer, boolean useInEdges)
          Destroys a previously created label layer
 Edge destroyProxyNode(Node proxyNode)
          Destroys a proxy node that has been created using createProxyNode(Edge, boolean) for the drawing phase
 Edge destroySameLayerProxy(Edge edge)
          Destroy a previously created same layer edge proxy
 void destroySameLayerSideProxy(Node proxyNode)
          Destroys a proxy node that has been created using.
 Edge destroySameLayerSwitchProxy(Node node)
          Destroys a previously generated same layer switch proxy
 EdgeList insertEdge(Edge edge)
          Inserts a same layer edge or an edge that may span multiple layers into the data structure.
 Layer insertGroupNodeLayer(boolean source, int index)
          Inserts an edge group node layer
 Layer insertLabelNodeLayer(boolean source, int index)
          Inserts a layer for label nodes group node layer
 void registerSameLayerEdge(Edge edge)
          Registers an edge as a same layer edge appropriately into all data structures.
 void setDirectlyConnectSameLayerEdge(Edge sameLayerEdge)
          Converts a normal edge to a EdgeData.TYPE_DIRECT_SAME_LAYER_EDGE.
 EdgeData setTemporaryEdgeGroups(Edge edge, Object sgId, Object tgId)
          Sets a edge group constraint for an edge.
 EdgeData setTemporaryPortConstraint(Edge edge, boolean source, PortConstraint pc)
          Sets a port constraint for an edge at the given side.
 void unconvertToLabelNode(Node labelNode)
          Reverts a label node to the previous kind of node
 

Method Detail

insertGroupNodeLayer

Layer insertGroupNodeLayer(boolean source,
                           int index)
Inserts an edge group node layer


insertLabelNodeLayer

Layer insertLabelNodeLayer(boolean source,
                           int index)
Inserts a layer for label nodes group node layer


destroyLabelNodeLayer

void destroyLabelNodeLayer(Layer layer,
                           boolean useInEdges)
Destroys a previously created label layer

Parameters:
layer - the layer to destroy
useInEdges - whether the incoming edges should be used as the resulting edges

insertEdge

EdgeList insertEdge(Edge edge)
Inserts a same layer edge or an edge that may span multiple layers into the data structure. Returns the list of edges that has been created if this edge spans multiple layers.


registerSameLayerEdge

void registerSameLayerEdge(Edge edge)
Registers an edge as a same layer edge appropriately into all data structures.


convertToLabelNode

void convertToLabelNode(Node dummyNode)
Converts a node to a label node


unconvertToLabelNode

void unconvertToLabelNode(Node labelNode)
Reverts a label node to the previous kind of node


createProxyNode

Node createProxyNode(Edge edge,
                     boolean source)
Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy

Returns:
the proxy

createProxyNode

Node createProxyNode(Edge edge,
                     boolean source,
                     SwimLaneDescriptor laneDescriptor)
Creates a proxy node for an edge during the drawing phase, changing the edge to end/start at the proxy.

Returns:
the proxy

destroyProxyNode

Edge destroyProxyNode(Node proxyNode)
Destroys a proxy node that has been created using createProxyNode(Edge, boolean) for the drawing phase


createSameLayerSideProxy

Node createSameLayerSideProxy(Layer inLayer,
                              Node forNode,
                              Edge edge)
Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.

Returns:
the proxy

createSameLayerSideProxy

Node createSameLayerSideProxy(Layer inLayer,
                              Node forNode,
                              Edge edge,
                              SwimLaneDescriptor sld)
Creates a proxy node for a same layer edge during the drawing phase that ends at the side of a node.

Returns:
the proxy

destroySameLayerSideProxy

void destroySameLayerSideProxy(Node proxyNode)
Destroys a proxy node that has been created using. createProxyNode(Edge, boolean) for the drawing phase


createEdgeGroupNode

Node createEdgeGroupNode(Layer layer,
                         Object groupId)
Creates an edge group node


createBendNode

Node createBendNode(Layer layer,
                    Edge edge)
Creates a bend node in the layer for the given edge


createBendNode

Node createBendNode(Layer layer,
                    Edge edge,
                    SwimLaneDescriptor laneDescriptor)
Creates a bend node in the layer for the given edge and assigns it to the given lane descriptor


createDistanceNode

Node createDistanceNode(Layer layer,
                        Rectangle2D.Double size,
                        Edge[] edges)
Creates a spacer node for the drawing phase using the given bounds


destroyDistanceNode

void destroyDistanceNode(Node distanceNode)
Destroys a previously created spacer node for the drawing phase.


createDummyEdge

Edge createDummyEdge(Node newSource,
                     Node newTarget,
                     Edge oldEdge,
                     boolean sourceEnd,
                     boolean targetEnd)
Creates a dummy edge using the given data.


createReverseDummyEdge

Edge createReverseDummyEdge(Node newSource,
                            Node newTarget,
                            Edge oldEdge,
                            boolean sourceEnd,
                            boolean targetEnd)
Creates a reversed dummy edge using the given data


createGroupNodeConnectorEdge

Edge createGroupNodeConnectorEdge(Node gn1,
                                  Node gn2,
                                  Edge representative)
Creates a group node connector edge between two group nodes.


createSameLayerProxy

Edge createSameLayerProxy(Layer layer,
                          Edge edge,
                          Node toProxy)
Creates a same layer proxy node.


destroySameLayerProxy

Edge destroySameLayerProxy(Edge edge)
Destroy a previously created same layer edge proxy


createSameLayerSwitchProxy

Node createSameLayerSwitchProxy(Layer layer,
                                Edge edge)
Creates a same layer switch proxy (switching between two same layer edges on two different sides of the layer).


destroySameLayerSwitchProxy

Edge destroySameLayerSwitchProxy(Node node)
Destroys a previously generated same layer switch proxy


createNormalNodeData

NodeData createNormalNodeData(Node node)
Creates node data for a normal node and associates it with the node


createProxyNodeData

NodeData createProxyNodeData(Node node,
                             Node proxy,
                             Edge edge)
Creates proxy node data for a proxy node and associates it with the node


createBendNodeData

NodeData createBendNodeData(Node node,
                            Edge edge)
Creates bend node data for a bend node and associates it with the node


createBendNodeData

NodeData createBendNodeData(Node node,
                            Edge edge,
                            SwimLaneDescriptor laneDescriptor)
Creates bend node data for a bend node and associates it with the node. The bend is assigned to the given laneDescriptor


createEdgeGroupNodeData

NodeData createEdgeGroupNodeData(Node node,
                                 Object groupId,
                                 boolean source)
Creates an edge group node data for an edge group node and associates it with the node


createGroupBorderNode

Node createGroupBorderNode(Node groupNode,
                           Layer layer,
                           byte type)
Creates a group boundary node for a group node.


createGroupLayerDummyNode

Node createGroupLayerDummyNode()
Create a dummy node for the group layer.


createNormalEdgeData

EdgeData createNormalEdgeData(Edge edge)
Creates edge data for a normal edge and associates it with the edge


createSameLayerEdgeData

EdgeData createSameLayerEdgeData(Edge edge)
Creates edge data for a same layer edge and associates it with the edge


createSelfLoopEdgeData

EdgeData createSelfLoopEdgeData(Edge edge)
Creates edge data for a self loop edge and associates it with the edge


setDirectlyConnectSameLayerEdge

void setDirectlyConnectSameLayerEdge(Edge sameLayerEdge)
Converts a normal edge to a EdgeData.TYPE_DIRECT_SAME_LAYER_EDGE.


setTemporaryPortConstraint

EdgeData setTemporaryPortConstraint(Edge edge,
                                    boolean source,
                                    PortConstraint pc)
Sets a port constraint for an edge at the given side.


setTemporaryEdgeGroups

EdgeData setTemporaryEdgeGroups(Edge edge,
                                Object sgId,
                                Object tgId)
Sets a edge group constraint for an edge.


createGroupBorderEdge

Edge createGroupBorderEdge(Node source,
                           Node target)
Creates an edge that connects two group border nodes.


createConnectorProxyForGroup

Node createConnectorProxyForGroup(Node groupNode,
                                  Object groupId,
                                  Layer layer,
                                  Edge e)
Create a dummy edge that mimics a connector to a group node.


© Copyright 2000-2013,
yWorks GmbH.
All rights reserved.