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 java.lang.Object
implements ElementFactory

This class is a default implementation of interface ElementFactory.

See Also:
ElementFactory
 

Constructor Summary
DefaultElementFactory()
          Creates a new instance of DefaultElementFactory.
 
Method Summary
 Edge createConnectorEdge(LayoutContext context, Node connector, Node opposite, java.lang.Object origEdgeId, boolean atTarget)
          Callback method for creating an edge of type EdgeInfo.TYPE_CONNECTOR.
 Node createConnectorNode(LayoutContext context, YList edgeIds, java.lang.Object representedNodeId)
          Callback method for creating a node of type NodeInfo.TYPE_CONNECTOR.
 Edge createProxyEdge(LayoutContext context, Node proxyNode, Node opposite, java.lang.Object replacingEdgeId, java.lang.Object origNodeId)
          Callback method for creating an edge of type EdgeInfo.TYPE_PROXY.
 Node createProxyNode(LayoutContext context, java.lang.Object origNodeId)
          Callback method for creating a node of type NodeInfo.TYPE_PROXY.
 Edge createProxyReferenceEdge(LayoutContext context, Node proxyReference, Node opposite, java.lang.Object referencingCopyId)
          Callback method for creating an edge of type EdgeInfo.TYPE_PROXY_REFERENCE.
 Node createProxyReferenceNode(LayoutContext context, java.lang.Object referringProxyId)
          Callback method for creating a node of type NodeInfo.TYPE_PROXY_REFERENCE.
protected  YDimension getDefaultNodeSize(LayoutContext context, java.lang.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()
Creates a new instance of DefaultElementFactory.

Method Detail

createConnectorEdge

public Edge createConnectorEdge(LayoutContext context,
                                Node connector,
                                Node opposite,
                                java.lang.Object origEdgeId,
                                boolean atTarget)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_CONNECTOR. Such an edge connects the given connector and opposite node.

Specified by:
createConnectorEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, for example, 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 - true if the connector node is the target of the edge, false otherwise
Returns:
the created connector edge
See Also:
EdgeInfo.TYPE_CONNECTOR, NodeInfo.TYPE_CONNECTOR, LayoutContext.createEdge(y.base.Node, y.base.Node, java.lang.Object)

createConnectorNode

public Node createConnectorNode(LayoutContext context,
                                YList edgeIds,
                                java.lang.Object representedNodeId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_CONNECTOR.

Specified by:
createConnectorNode in interface ElementFactory
Parameters:
context - an object providing relevant layout information, for example, 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
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,
                                     java.lang.Object referringProxyId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_PROXY_REFERENCE.

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

createProxyNode

public Node createProxyNode(LayoutContext context,
                            java.lang.Object origNodeId)
Description copied from interface: ElementFactory
Callback method for creating a node of type NodeInfo.TYPE_PROXY.

Specified by:
createProxyNode in interface ElementFactory
Parameters:
context - an object providing relevant layout information, for example, 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 created proxy node
See Also:
LayoutContext.createNode(Object), NodeInfo.TYPE_PROXY_REFERENCE, NodeInfo.TYPE_PROXY

createProxyReferenceEdge

public Edge createProxyReferenceEdge(LayoutContext context,
                                     Node proxyReference,
                                     Node opposite,
                                     java.lang.Object referencingCopyId)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_PROXY_REFERENCE. Such an (undirected) edge should connect the given proxy reference and opposite node.

Specified by:
createProxyReferenceEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, for example, 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,
                            java.lang.Object replacingEdgeId,
                            java.lang.Object origNodeId)
Description copied from interface: ElementFactory
Callback method for creating an edge of type EdgeInfo.TYPE_PROXY. Such an edge should connect the given proxy and opposite node.

Specified by:
createProxyEdge in interface ElementFactory
Parameters:
context - an object providing relevant layout information, for example, 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
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,
                                        java.lang.Object id,
                                        byte type)
Returns the default size for nodes created by this factory.

This method is called from createConnectorNode(LayoutContext, YList, Object), createProxyReferenceNode(LayoutContext, Object), and/or createProxyNode(LayoutContext, Object). It must return a non-null size with positive width and height.

Subclasses may implement this method to use custom size values.

Parameters:
context - an object providing relevant layout information, for example, the current graph as well as various information about the graph elements
id - the element ID
type - the type of the node to be created
Returns:
the default size of the new node

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