Package org.eclipse.gef.graph
Class GraphCopier
- java.lang.Object
-
- org.eclipse.gef.graph.GraphCopier
-
public class GraphCopier extends java.lang.Object
A copier forgraphs
. After a graph was copied, the copier can be queried for the mappings of input nodes to output nodes and input edges to output edges. A copier is a stateful utility.
-
-
Constructor Summary
Constructors Constructor Description GraphCopier(org.eclipse.gef.common.attributes.IAttributeCopier attributeCopier)
Creates a newGraphCopier
instance with the givenIAttributeCopier
.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected void
clearInputToOutputMaps()
Discard any data that was tracked in previous copy operations.Graph
copy(Graph graph)
Creates a copy of the givenGraph
.protected void
copyAttributes(org.eclipse.gef.common.attributes.IAttributeStore inputStore, org.eclipse.gef.common.attributes.IAttributeStore outputStore)
protected Edge
copyEdge(Edge edge)
Creates a copy of the given edge.protected void
copyEdges(Graph graph, Graph outputGraph)
Copies all the edges of the given graph into the output graph.protected Graph
copyGraph(Graph graph)
Copies the givenGraph
using the currentIAttributeCopier
.protected Node
copyNode(Node node)
Creates a copy of the given node.protected void
copyNodes(Graph graph, Graph outputGraph)
Copies all the nodes of the given graph into the output graph.org.eclipse.gef.common.attributes.IAttributeCopier
getAttributeCopier()
Returns theIAttributeCopier
used by thisGraphCopier
.java.util.Map<Edge,Edge>
getInputToOutputEdgeMap()
java.util.Map<Node,Node>
getInputToOutputNodeMap()
protected void
trackCopiedEdge(Edge inputEdge, Edge outputEdge)
Maintains a mapping from the input edge to the output edge.protected void
trackCopiedNode(Node inputNode, Node outputNode)
Maintains a mapping from the input node to the output node.
-
-
-
Constructor Detail
-
GraphCopier
public GraphCopier(org.eclipse.gef.common.attributes.IAttributeCopier attributeCopier)
Creates a newGraphCopier
instance with the givenIAttributeCopier
.
-
-
Method Detail
-
clearInputToOutputMaps
protected void clearInputToOutputMaps()
Discard any data that was tracked in previous copy operations.- Since:
- 5.1
-
copy
public Graph copy(Graph graph)
Creates a copy of the givenGraph
.- Parameters:
graph
- The Graph to copy.- Returns:
- A new graph that is the result of the copy operation.
-
copyAttributes
protected void copyAttributes(org.eclipse.gef.common.attributes.IAttributeStore inputStore, org.eclipse.gef.common.attributes.IAttributeStore outputStore)
-
copyEdge
protected Edge copyEdge(Edge edge)
Creates a copy of the given edge.- Parameters:
edge
- The Edge to copy.- Returns:
- A new
Edge
with transferred relations and (copied) attributes.
-
copyEdges
protected void copyEdges(Graph graph, Graph outputGraph)
Copies all the edges of the given graph into the output graph.- Parameters:
graph
- The inputGraph
to copy.outputGraph
- The output Graph.- Since:
- 5.1
-
copyGraph
protected Graph copyGraph(Graph graph)
Copies the givenGraph
using the currentIAttributeCopier
. Records the copied nodes in thegetInputToOutputNodeMap()
and the copied edges in thegetInputToOutputEdgeMap()
.
-
copyNode
protected Node copyNode(Node node)
Creates a copy of the given node.- Parameters:
node
- TheNode
to copy.- Returns:
- A new Node with transferred relations and (copied) attributes.
-
copyNodes
protected void copyNodes(Graph graph, Graph outputGraph)
Copies all the nodes of the given graph into the output graph.- Parameters:
graph
- The inputGraph
to copy.outputGraph
- The output Graph.- Since:
- 5.1
-
getAttributeCopier
public org.eclipse.gef.common.attributes.IAttributeCopier getAttributeCopier()
Returns theIAttributeCopier
used by thisGraphCopier
.- Returns:
- The
IAttributeCopier
used by thisGraphCopier
.
-
trackCopiedEdge
protected void trackCopiedEdge(Edge inputEdge, Edge outputEdge)
Maintains a mapping from the input edge to the output edge.- Parameters:
inputEdge
- the input edge.outputEdge
- the output edge.- Since:
- 5.1
-
-