Package org.eclipse.gef.graph
Class GraphCopier
- java.lang.Object
-
- org.eclipse.gef.graph.GraphCopier
-
public class GraphCopier extends java.lang.ObjectA 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 newGraphCopierinstance with the givenIAttributeCopier.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description protected voidclearInputToOutputMaps()Discard any data that was tracked in previous copy operations.Graphcopy(Graph graph)Creates a copy of the givenGraph.protected voidcopyAttributes(org.eclipse.gef.common.attributes.IAttributeStore inputStore, org.eclipse.gef.common.attributes.IAttributeStore outputStore)protected EdgecopyEdge(Edge edge)Creates a copy of the given edge.protected voidcopyEdges(Graph graph, Graph outputGraph)Copies all the edges of the given graph into the output graph.protected GraphcopyGraph(Graph graph)Copies the givenGraphusing the currentIAttributeCopier.protected NodecopyNode(Node node)Creates a copy of the given node.protected voidcopyNodes(Graph graph, Graph outputGraph)Copies all the nodes of the given graph into the output graph.org.eclipse.gef.common.attributes.IAttributeCopiergetAttributeCopier()Returns theIAttributeCopierused by thisGraphCopier.java.util.Map<Edge,Edge>getInputToOutputEdgeMap()java.util.Map<Node,Node>getInputToOutputNodeMap()protected voidtrackCopiedEdge(Edge inputEdge, Edge outputEdge)Maintains a mapping from the input edge to the output edge.protected voidtrackCopiedNode(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 newGraphCopierinstance 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
Edgewith 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 inputGraphto copy.outputGraph- The output Graph.- Since:
- 5.1
-
copyGraph
protected Graph copyGraph(Graph graph)
Copies the givenGraphusing 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- TheNodeto 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 inputGraphto copy.outputGraph- The output Graph.- Since:
- 5.1
-
getAttributeCopier
public org.eclipse.gef.common.attributes.IAttributeCopier getAttributeCopier()
Returns theIAttributeCopierused by thisGraphCopier.- Returns:
- The
IAttributeCopierused 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
-
-