public class JGraphModelAdapter<V,E>
extends org.jgraph.graph.DefaultGraphModel
Modifications made to the underlying JGraphT graph are reflected to this
JGraph model if and only if the underlying JGraphT graph is a ListenableGraph
. If the underlying JGraphT graph is not
ListenableGraph, then this JGraph model represent a snapshot if the graph at
the time of its creation.
Changes made to this JGraph model are also reflected back to the underlying JGraphT graph. To avoid confusion, variables are prefixed according to the JGraph/JGraphT object(s) they are referring to.
KNOWN BUGS: There is a small issue to be aware of. JGraph allows 'dangling edges' incident with just one vertex; JGraphT doesn't. Such a configuration can arise when adding an edge or removing a vertex. The code handles this by removing the newly-added dangling edge or removing all edges incident with the vertex before actually removing the vertex, respectively. This works very well, only it doesn't play all that nicely with the undo-manager in the JGraph: for the second situation where you remove a vertex incident with some edges, if you undo the removal, the vertex is 'unremoved' but the edges aren't.
Modifier and Type | Class and Description |
---|---|
static interface |
JGraphModelAdapter.CellFactory<VV,EE>
Creates the JGraph cells that reflect the respective JGraphT elements.
|
static class |
JGraphModelAdapter.DefaultCellFactory<VV,EE>
A simple default cell factory.
|
asksAllowsChildren, attributes, emptyIterator, listenerList, removeEmptyGroups, roots, transAddedCells, transEditAttrs, transEditCS, transEditPM, transRemovedCells, updateLevel
compoundEdit, listeners, realSource
Constructor and Description |
---|
JGraphModelAdapter(Graph<V,E> jGraphTGraph)
Constructs a new JGraph model adapter for the specified JGraphT graph.
|
JGraphModelAdapter(Graph<V,E> jGraphTGraph,
org.jgraph.graph.AttributeMap defaultVertexAttributes,
org.jgraph.graph.AttributeMap defaultEdgeAttributes)
Constructs a new JGraph model adapter for the specified JGraphT graph.
|
JGraphModelAdapter(Graph<V,E> jGraphTGraph,
org.jgraph.graph.AttributeMap defaultVertexAttributes,
org.jgraph.graph.AttributeMap defaultEdgeAttributes,
JGraphModelAdapter.CellFactory<V,E> cellFactory)
Constructs a new JGraph model adapter for the specified JGraphT graph.
|
Modifier and Type | Method and Description |
---|---|
static <V,E> org.jgraph.graph.AttributeMap |
createDefaultEdgeAttributes(Graph<V,E> jGraphTGraph)
Creates and returns a map of attributes to be used as defaults for edge
attributes, depending on the specified graph.
|
static org.jgraph.graph.AttributeMap |
createDefaultVertexAttributes()
Creates and returns a map of attributes to be used as defaults for vertex
attributes.
|
JGraphModelAdapter.CellFactory<V,E> |
getCellFactory()
Returns the cell factory used to create the JGraph cells.
|
org.jgraph.graph.AttributeMap |
getDefaultEdgeAttributes()
Returns the default edge attributes used for creating new JGraph edges.
|
org.jgraph.graph.AttributeMap |
getDefaultVertexAttributes()
Returns the default vertex attributes used for creating new JGraph
vertices.
|
org.jgraph.graph.DefaultEdge |
getEdgeCell(E jGraphTEdge)
Returns the JGraph edge cell that corresponds to the specified JGraphT
edge.
|
org.jgraph.graph.DefaultGraphCell |
getVertexCell(Object jGraphTVertex)
Returns the JGraph vertex cell that corresponds to the specified JGraphT
vertex.
|
org.jgraph.graph.DefaultPort |
getVertexPort(Object jGraphTVertex)
Returns the JGraph port cell that corresponds to the specified JGraphT
vertex.
|
void |
setDefaultEdgeAttributes(org.jgraph.graph.AttributeMap defaultEdgeAttributes)
Sets the default edge attributes used for creating new JGraph edges.
|
void |
setDefaultVertexAttributes(org.jgraph.graph.AttributeMap defaultVertexAttributes)
Sets the default vertex attributes used for creating new JGraph vertices.
|
acceptsSource, acceptsTarget, addGraphModelListener, beginUpdate, cellsChanged, cloneCell, cloneCell, cloneCell, cloneCells, cloneUserObject, connect, contains, containsEdgeBetween, createEdit, createLayerEdit, createRemoveEdit, edges, edit, edit, endUpdate, execute, fireGraphChanged, getAll, getAttributes, getAttributes, getChild, getChildCount, getConnectionSet, getDescendants, getEdges, getEdges, getEdgesBetween, getGraphModelListeners, getIncomingEdges, getIndexOfChild, getIndexOfRoot, getOpposite, getOutgoingEdges, getParent, getRootAt, getRootCount, getRoots, getRoots, getRoots, getRootsAsCollection, getSource, getSourceVertex, getTarget, getTargetVertex, getTopmostCells, getUpdateLevel, getUserObject, getValue, handleAttributes, handleConnection, handleConnectionSet, handleInsert, handleParentMap, handleRemove, hasAncestorIn, insert, isEdge, isGroup, isLeaf, isPort, isRemoveEmptyGroups, isVertex, order, remove, removeGraphModelListener, setParent, setRemoveEmptyGroups, setSourcePort, setTargetPort, toBack, toFront, updateTransaction, valueForCellChanged
_postEdit, addUndoableEditListener, createCompoundEdit, getUndoableEditListeners, postEdit, removeUndoableEditListener, toString
public JGraphModelAdapter(Graph<V,E> jGraphTGraph)
jGraphTGraph
- the JGraphT graph for which JGraph model adapter to
be created. null
is NOT permitted.public JGraphModelAdapter(Graph<V,E> jGraphTGraph, org.jgraph.graph.AttributeMap defaultVertexAttributes, org.jgraph.graph.AttributeMap defaultEdgeAttributes)
jGraphTGraph
- the JGraphT graph for which JGraph model adapter to
be created. null
is NOT permitted.defaultVertexAttributes
- a default map of JGraph attributes to
format vertices. null
is NOT permitted.defaultEdgeAttributes
- a default map of JGraph attributes to format
edges. null
is NOT permitted.public JGraphModelAdapter(Graph<V,E> jGraphTGraph, org.jgraph.graph.AttributeMap defaultVertexAttributes, org.jgraph.graph.AttributeMap defaultEdgeAttributes, JGraphModelAdapter.CellFactory<V,E> cellFactory)
jGraphTGraph
- the JGraphT graph for which JGraph model adapter to
be created. null
is NOT permitted.defaultVertexAttributes
- a default map of JGraph attributes to
format vertices. null
is NOT permitted.defaultEdgeAttributes
- a default map of JGraph attributes to format
edges. null
is NOT permitted.cellFactory
- a JGraphModelAdapter.CellFactory
to be used to create the JGraph
cells. null
is NOT permitted.IllegalArgumentException
public static <V,E> org.jgraph.graph.AttributeMap createDefaultEdgeAttributes(Graph<V,E> jGraphTGraph)
jGraphTGraph
- the graph for which default edge attributes to be
created.public static org.jgraph.graph.AttributeMap createDefaultVertexAttributes()
public JGraphModelAdapter.CellFactory<V,E> getCellFactory()
public void setDefaultEdgeAttributes(org.jgraph.graph.AttributeMap defaultEdgeAttributes)
defaultEdgeAttributes
- the default edge attributes to set.public org.jgraph.graph.AttributeMap getDefaultEdgeAttributes()
public void setDefaultVertexAttributes(org.jgraph.graph.AttributeMap defaultVertexAttributes)
defaultVertexAttributes
- the default vertex attributes to set.public org.jgraph.graph.AttributeMap getDefaultVertexAttributes()
public org.jgraph.graph.DefaultEdge getEdgeCell(E jGraphTEdge)
null
.jGraphTEdge
- a JGraphT edge of the JGraphT graph.null
if no corresponding cell found.public org.jgraph.graph.DefaultGraphCell getVertexCell(Object jGraphTVertex)
null
.jGraphTVertex
- a JGraphT vertex of the JGraphT graph.null
if no corresponding cell found.public org.jgraph.graph.DefaultPort getVertexPort(Object jGraphTVertex)
null
.jGraphTVertex
- a JGraphT vertex of the JGraphT graph.null
if no corresponding cell found.Copyright © 2016. All rights reserved.