Search this API

y.layout.multipage
Class DefaultElementFactory

java.lang.Object
  extended by y.layout.multipage.DefaultElementFactory
All Implemented Interfaces:
ElementFactory

public class DefaultElementFactory
extends Object
implements ElementFactory

Default implementation of an ElementFactory.

See Also:
ElementFactory

Constructor Summary
DefaultElementFactory()
           
 
Method Summary
 Edge createConnectorEdge(LayoutContext context, Node connector, Node opposite, Object origEdgeId, boolean atTarget)
          Callback method for creating an edge of type EdgeInfo.TYPE_CONNECTOR.
 Node createConnectorNode(LayoutContext context, YList edgeIds, Object representedNodeId)
          Callback method for creating a node of type NodeInfo.TYPE_CONNECTOR.
 Edge createProxyEdge(LayoutContext context, Node proxyNode, Node opposite, Object replacingEdgeId, Object origNodeId)
          Callback method for creating an edge of type EdgeInfo.TYPE_PROXY.
 Node createProxyNode(LayoutContext context, Object origNodeId)
          Callback method for creating a node of type NodeInfo.TYPE_PROXY.
 Edge createProxyReferenceEdge(LayoutContext context, Node proxyReference, Node opposite, Object referencingCopyId)
          Callback method for creating an edge of type EdgeInfo.TYPE_PROXY_REFERENCE.
 Node createProxyReferenceNode(LayoutContext context, Object referringProxyId)
          Callback method for creating a node of type NodeInfo.TYPE_PROXY_REFERENCE.
protected  YDimension getDefaultNodeSize(LayoutContext context, Object id, byte type)
          Returns the default size for nodes created by this factory.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

DefaultElementFactory

public DefaultElementFactory()
Method Detail

createConnectorEdge

public Edge createConnectorEdge(LayoutContext context,
                                Node connector,
                                Node opposite,
                                Object origEdgeId,
                                boolean atTarget)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_CONNECTOR. The edge should connect the given connector and opposite node. Note: all implementations have to use method LayoutContext.createEdge(y.base.Node, y.base.Node, Object) to create the edge.

Specified by:
createConnectorEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
connector - the endpoint of the edge that represents the connector node.
opposite - the other endpoint of the edge.
origEdgeId - the id of the edge that is split by the connector edge.
atTarget - whether or not the connector node is the target of the edge.
Returns:
the created connector edge.
See Also:
EdgeInfo.TYPE_CONNECTOR, LayoutContext.createEdge(y.base.Node, y.base.Node, java.lang.Object)

createConnectorNode

public Node createConnectorNode(LayoutContext context,
                                YList edgeIds,
                                Object representedNodeId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_CONNECTOR. Note: all implementations have to use method LayoutContext.createNode(Object) to create the node.

Specified by:
createConnectorNode in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
edgeIds - a list that contains the ids of edges that are split by this connector. Note: multi-edges (edges connecting the same nodes) may be split by the same connector pair.
representedNodeId - the id of the node that is represented by this connector.
Returns:
the created connector node
See Also:
NodeInfo.TYPE_CONNECTOR, LayoutContext.createNode(Object), NodeInfo.getRepresentedNode()

createProxyReferenceNode

public Node createProxyReferenceNode(LayoutContext context,
                                     Object referringProxyId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_PROXY_REFERENCE. Note: all implementations have to use method LayoutContext.createNode(Object) to create the node.

Specified by:
createProxyReferenceNode in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
referringProxyId - the id of the proxy to which the created node refers to.
Returns:
the new proxy reference node.
See Also:
NodeInfo.TYPE_PROXY_REFERENCE, LayoutContext.createNode(Object), NodeInfo.TYPE_PROXY

createProxyNode

public Node createProxyNode(LayoutContext context,
                            Object origNodeId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_PROXY. Note: all implementations have to use method LayoutContext.createNode(Object) to create the node.

Specified by:
createProxyNode in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
origNodeId - the id of the node for which a proxy has to be created.
Returns:
the proxy.
See Also:
LayoutContext.createNode(Object), NodeInfo.TYPE_PROXY

createProxyReferenceEdge

public Edge createProxyReferenceEdge(LayoutContext context,
                                     Node proxyReference,
                                     Node opposite,
                                     Object referencingCopyId)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_PROXY_REFERENCE. This (undirected) edge should connect the given proxy reference and opposite node. Note: all implementations have to use method LayoutContext.createEdge(y.base.Node, y.base.Node, Object) to create the edge.

Specified by:
createProxyReferenceEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
proxyReference - the endpoint of the edge that represents the proxy reference node.
opposite - the other endpoint of the new edge.
referencingCopyId - the id of the proxy node that is referenced by the proxy reference node.
Returns:
the created proxy reference edge.
See Also:
EdgeInfo.TYPE_PROXY_REFERENCE, NodeInfo.TYPE_PROXY_REFERENCE, LayoutContext.createEdge(y.base.Node, y.base.Node, java.lang.Object)

createProxyEdge

public Edge createProxyEdge(LayoutContext context,
                            Node proxyNode,
                            Node opposite,
                            Object replacingEdgeId,
                            Object origNodeId)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_PROXY. The edge should connect the given proxy node and opposite node. Note: all implementations have to use method LayoutContext.createEdge(y.base.Node, y.base.Node, Object) to create the edge.

Specified by:
createProxyEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
proxyNode - the endpoint of the edge that represents the proxy node.
opposite - the other endpoint of the new edge.
replacingEdgeId - the id of the related edge that is connected to the original node.
origNodeId - the id of the original node to which the proxy node refers to.
Returns:
the created proxy edge.
See Also:
EdgeInfo.TYPE_PROXY, NodeInfo.TYPE_PROXY, LayoutContext.createEdge(y.base.Node, y.base.Node, java.lang.Object)

getDefaultNodeSize

protected YDimension getDefaultNodeSize(LayoutContext context,
                                        Object id,
                                        byte type)
Returns the default size for nodes created by this factory. Called from createConnectorNode(LayoutContext, YList, Object), createProxyReferenceNode(LayoutContext, Object), and/or createProxyNode(LayoutContext, Object). Must return a non-null size with positive width and height.

Parameters:
context - an object providing relevant layout information, e.g., the current graph as well as various information about the graph elements.
id - the element ID that was passed to the calling create method.
type - the type of node to be created.
Returns:
the default size of the new node.

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