Package mgui.interfaces.graphs
Class InterfaceAbstractGraph
java.lang.Object
edu.uci.ics.jung.graph.AbstractGraph<V,E>
edu.uci.ics.jung.graph.SparseGraph<AbstractGraphNode,AbstractGraphEdge>
mgui.interfaces.graphs.InterfaceAbstractGraph
- All Implemented Interfaces:
edu.uci.ics.jung.graph.Graph<AbstractGraphNode,AbstractGraphEdge>
,edu.uci.ics.jung.graph.Hypergraph<AbstractGraphNode,AbstractGraphEdge>
,java.io.Serializable
,NetworkGraphListener
,AttributeListener
,AttributeObject
,InterfaceObject
,PopupMenuObject
,NamedObject
,TreeObject
,CleanableObject
,XMLObject
,IconObject
- Direct Known Subclasses:
DefaultGraph
,NeuralNetGraph
public class InterfaceAbstractGraph extends edu.uci.ics.jung.graph.SparseGraph<AbstractGraphNode,AbstractGraphEdge> implements AttributeObject, AttributeListener, InterfaceObject, NetworkGraphListener, PopupMenuObject, IconObject, XMLObject
Abstract representation of a Graph in modelGUI; extends Jung's SparseGraph
- Since:
- 1.0
- Version:
- 1.0
- Author:
- Andrew Reid
- See Also:
- Serialized Form
-
Nested Class Summary
Nested classes/interfaces inherited from interface mgui.interfaces.xml.XMLObject
XMLObject.XMLEncoding, XMLObject.XMLType
-
Field Summary
Fields Modifier and Type Field Description AttributeList
attributes
java.util.ArrayList<InterfaceGraphListener>
graphListeners
protected boolean
isDestroyed
java.lang.String
name
InterfaceTreeNode
treeNode
protected java.util.ArrayList<InterfaceTreeNode>
treeNodes
protected java.lang.String
xml_block
protected int
xml_count
protected int
xml_itr
protected java.util.HashMap<java.lang.Integer,AbstractGraphNode>
xml_nodes
Fields inherited from class edu.uci.ics.jung.graph.SparseGraph
directed_edges, INCIDENT, INCOMING, OUTGOING, undirected_edges, vertex_maps
-
Constructor Summary
Constructors Constructor Description InterfaceAbstractGraph()
-
Method Summary
Modifier and Type Method Description boolean
addEdge(AbstractGraphEdge edge, edu.uci.ics.jung.graph.util.EdgeType edgeType)
boolean
addEdge(AbstractGraphEdge edge, AbstractGraphNode v1, AbstractGraphNode v2, edu.uci.ics.jung.graph.util.EdgeType edgeType)
Overridden to set up edge properly.boolean
addEdge(AbstractGraphNode v1, AbstractGraphNode v2, edu.uci.ics.jung.graph.util.EdgeType edgeType)
void
addGraphListener(InterfaceGraphListener g)
void
attributeUpdated(AttributeEvent e)
Called when an Attribute's value has been updated.void
clean()
Instructs this object to search its members for any object which has been destroyed, and release the pointer to it.java.lang.Object
clone()
void
destroy()
Destroy this object (prepare it to be removed from memory)protected void
fireGraphListeners()
protected void
fireGraphListeners(int code)
Attribute<?>
getAttribute(java.lang.String attrName)
Returns a specific attribute for this object.AttributeList
getAttributes()
Returns the list of current attributes for this object.java.lang.Object
getAttributeValue(java.lang.String name)
Gets the value of attributename
, ornull
if it does not exist.java.lang.String
getDefaultLayout()
java.lang.String
getDTD()
Returns the Data Type Declaration (DTD) for this object's XML representationboolean
getLabelEdges()
boolean
getLabelNodes()
java.lang.String
getLocalName()
Returns the local name associated with this XML object.java.lang.String
getName()
Gets the name for this object.java.util.ArrayList<AbstractGraphNode>
getNodes()
javax.swing.Icon
getObjectIcon()
Returns theIcon
associated with this object.InterfacePopupMenu
getPopupMenu()
Produces and returns a popup menu for this object.InterfacePopupMenu
getPopupMenu(java.util.List<java.lang.Object> selected)
Produces and returns a popup menu for this object.java.lang.String
getShortXML(int tab)
Returns a short XML representation of this object.java.lang.String
getTreeLabel()
Returns the label text to appear in a tree node.java.lang.String
getXML()
Returns this object's XML representation as a single string.java.lang.String
getXML(int tab)
Returns this object's XML representation as a single string.java.lang.String
getXMLSchema()
Returns the XML schema for this object's XML representationvoid
graphUpdated(NetworkGraphEvent e)
void
handlePopupEvent(java.awt.event.ActionEvent e)
Handles an event on this object's popup menu.void
handleXMLElementEnd(java.lang.String localName)
Handles the end of an XML element.void
handleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)
Handles the start of an XML element.void
handleXMLString(java.lang.String s)
Handles a string within an XML element.protected void
init()
boolean
isDestroyed()
Test whether this object has been destroyedInterfaceTreeNode
issueTreeNode()
Issues a newInterfaceTreeNode
for this object.void
removeAllEdges()
Removes all edges in this Graph.void
removeAllNodes()
Removes all nodes in this Graph.void
removeGraphListener(InterfaceGraphListener g)
void
setAttribute(java.lang.String attrName, java.lang.Object newValue)
Sets a value for a specific attribute.void
setAttributes(AttributeList thisList)
Sets the list of attributes for this object.void
setName(java.lang.String name)
Sets the name for this object.void
setTreeNode(InterfaceTreeNode treeNode)
Sets the children for this node'sInterfaceTreeNode
.void
showPopupMenu(java.awt.event.MouseEvent e)
Shows a popup menu at the point of the givenMouseEvent
.java.lang.String
toString()
void
writeXML(int tab, java.io.Writer writer)
Writes the XML representation of this object to file.void
writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar)
Writes the XML representation of this object to file, asXMLType.Normal
.void
writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar)
Writes the XML representation of this object to file.Methods inherited from class edu.uci.ics.jung.graph.SparseGraph
addEdge, addVertex, containsEdge, containsVertex, findEdge, findEdgeSet, getDefaultEdgeType, getDest, getEdgeCount, getEdgeCount, getEdges, getEdges, getEdgeType, getEndpoints, getFactory, getIncidentEdges, getInEdges, getNeighbors, getOutEdges, getPredecessors, getSource, getSuccessors, getVertexCount, getVertices, isDest, isSource, removeEdge, removeVertex
Methods inherited from class edu.uci.ics.jung.graph.AbstractGraph
addEdge, addEdge, addEdge, addEdge, degree, getIncidentCount, getIncidentVertices, getNeighborCount, getOpposite, getPredecessorCount, getSuccessorCount, getValidatedEndpoints, inDegree, isIncident, isNeighbor, isPredecessor, isSuccessor, outDegree
Methods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
Methods inherited from interface edu.uci.ics.jung.graph.Graph
addEdge, getOpposite, getPredecessorCount, getSuccessorCount, inDegree, isPredecessor, isSuccessor, outDegree
Methods inherited from interface edu.uci.ics.jung.graph.Hypergraph
addEdge, addEdge, degree, getIncidentCount, getIncidentVertices, getNeighborCount, isIncident, isNeighbor
-
Field Details
-
attributes
-
graphListeners
-
treeNodes
-
treeNode
-
name
public java.lang.String name -
isDestroyed
protected boolean isDestroyed -
xml_nodes
-
xml_itr
protected int xml_itr -
xml_count
protected int xml_count -
xml_block
protected java.lang.String xml_block
-
-
Constructor Details
-
InterfaceAbstractGraph
public InterfaceAbstractGraph()
-
-
Method Details
-
init
protected void init() -
clean
public void clean()Description copied from interface:CleanableObject
Instructs this object to search its members for any object which has been destroyed, and release the pointer to it.- Specified by:
clean
in interfaceCleanableObject
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObject
Returns theIcon
associated with this object.- Specified by:
getObjectIcon
in interfaceIconObject
- Returns:
-
clone
public java.lang.Object clone() throws java.lang.CloneNotSupportedException- Overrides:
clone
in classjava.lang.Object
- Throws:
java.lang.CloneNotSupportedException
-
getName
public java.lang.String getName()Description copied from interface:NamedObject
Gets the name for this object.- Specified by:
getName
in interfaceNamedObject
- Returns:
-
setName
public void setName(java.lang.String name)Description copied from interface:NamedObject
Sets the name for this object.- Specified by:
setName
in interfaceNamedObject
-
getTreeLabel
public java.lang.String getTreeLabel()Description copied from interface:TreeObject
Returns the label text to appear in a tree node.- Specified by:
getTreeLabel
in interfaceTreeObject
- Returns:
-
toString
public java.lang.String toString()- Overrides:
toString
in classedu.uci.ics.jung.graph.AbstractGraph<AbstractGraphNode,AbstractGraphEdge>
-
getDefaultLayout
public java.lang.String getDefaultLayout() -
getLabelNodes
public boolean getLabelNodes() -
getLabelEdges
public boolean getLabelEdges() -
addGraphListener
-
removeGraphListener
-
fireGraphListeners
protected void fireGraphListeners() -
fireGraphListeners
protected void fireGraphListeners(int code) -
attributeUpdated
Description copied from interface:AttributeListener
Called when an Attribute's value has been updated.- Specified by:
attributeUpdated
in interfaceAttributeListener
-
getAttribute
Description copied from interface:AttributeObject
Returns a specific attribute for this object.- Specified by:
getAttribute
in interfaceAttributeObject
- Returns:
-
getAttributeValue
public java.lang.Object getAttributeValue(java.lang.String name)Description copied from interface:AttributeObject
Gets the value of attributename
, ornull
if it does not exist.- Specified by:
getAttributeValue
in interfaceAttributeObject
- Parameters:
name
- Name of the attribute- Returns:
- the value of attribute
name
, ornull
if it does not exist
-
getAttributes
Description copied from interface:AttributeObject
Returns the list of current attributes for this object.- Specified by:
getAttributes
in interfaceAttributeObject
- Returns:
-
setAttribute
public void setAttribute(java.lang.String attrName, java.lang.Object newValue)Description copied from interface:AttributeObject
Sets a value for a specific attribute.- Specified by:
setAttribute
in interfaceAttributeObject
-
setAttributes
Description copied from interface:AttributeObject
Sets the list of attributes for this object.- Specified by:
setAttributes
in interfaceAttributeObject
-
graphUpdated
- Specified by:
graphUpdated
in interfaceNetworkGraphListener
-
issueTreeNode
Description copied from interface:TreeObject
Issues a newInterfaceTreeNode
for this object. The object is responsible for maintaining, updating, and destroying the tree nodes it issues, or notifying containers -- i.e., parent trees -- of changes which require the tree nodes to be modified or destroyed.- Specified by:
issueTreeNode
in interfaceTreeObject
- Returns:
-
setTreeNode
Description copied from interface:TreeObject
Sets the children for this node'sInterfaceTreeNode
.- Specified by:
setTreeNode
in interfaceTreeObject
-
getPopupMenu
Description copied from interface:PopupMenuObject
Produces and returns a popup menu for this object.- Specified by:
getPopupMenu
in interfacePopupMenuObject
- Returns:
-
getPopupMenu
Description copied from interface:PopupMenuObject
Produces and returns a popup menu for this object. Allows an associated list of objects to be passed as an argument.- Specified by:
getPopupMenu
in interfacePopupMenuObject
- Returns:
-
handlePopupEvent
public void handlePopupEvent(java.awt.event.ActionEvent e)Description copied from interface:PopupMenuObject
Handles an event on this object's popup menu.- Specified by:
handlePopupEvent
in interfacePopupMenuObject
-
showPopupMenu
public void showPopupMenu(java.awt.event.MouseEvent e)Description copied from interface:PopupMenuObject
Shows a popup menu at the point of the givenMouseEvent
.- Specified by:
showPopupMenu
in interfacePopupMenuObject
-
addEdge
public boolean addEdge(AbstractGraphEdge edge, AbstractGraphNode v1, AbstractGraphNode v2, edu.uci.ics.jung.graph.util.EdgeType edgeType)Overridden to set up edge properly.- Specified by:
addEdge
in interfaceedu.uci.ics.jung.graph.Graph<AbstractGraphNode,AbstractGraphEdge>
- Overrides:
addEdge
in classedu.uci.ics.jung.graph.AbstractGraph<AbstractGraphNode,AbstractGraphEdge>
- Parameters:
edge
-v1
-v2
-edgeType
-- Returns:
-
addEdge
-
addEdge
public boolean addEdge(AbstractGraphNode v1, AbstractGraphNode v2, edu.uci.ics.jung.graph.util.EdgeType edgeType) -
removeAllEdges
public void removeAllEdges()Removes all edges in this Graph. -
removeAllNodes
public void removeAllNodes()Removes all nodes in this Graph. -
getNodes
-
destroy
public void destroy()Description copied from interface:InterfaceObject
Destroy this object (prepare it to be removed from memory)- Specified by:
destroy
in interfaceInterfaceObject
-
isDestroyed
public boolean isDestroyed()Description copied from interface:InterfaceObject
Test whether this object has been destroyed- Specified by:
isDestroyed
in interfaceInterfaceObject
- Returns:
-
getDTD
public java.lang.String getDTD()Description copied from interface:XMLObject
Returns the Data Type Declaration (DTD) for this object's XML representationSee http://en.wikipedia.org/wiki/Document_Type_Definition for a description.
-
getXMLSchema
public java.lang.String getXMLSchema()Description copied from interface:XMLObject
Returns the XML schema for this object's XML representation- Specified by:
getXMLSchema
in interfaceXMLObject
- Returns:
-
getXML
public java.lang.String getXML()Description copied from interface:XMLObject
Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)
functions to write larger objects to file. -
getXML
public java.lang.String getXML(int tab)Description copied from interface:XMLObject
Returns this object's XML representation as a single string. NOTE: this is not feasible for larger objects and containers, thus may not be implemented for these objects. Use theXMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater)
functions to write larger objects to file. -
handleXMLElementStart
public void handleXMLElementStart(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type) throws org.xml.sax.SAXExceptionDescription copied from interface:XMLObject
Handles the start of an XML element.- Specified by:
handleXMLElementStart
in interfaceXMLObject
- Parameters:
localName
- Local name of the elementattributes
- Set of element attributestype
- TheXMLType
of this element- Throws:
org.xml.sax.SAXException
-
handleXMLElementEnd
public void handleXMLElementEnd(java.lang.String localName) throws org.xml.sax.SAXExceptionDescription copied from interface:XMLObject
Handles the end of an XML element.- Specified by:
handleXMLElementEnd
in interfaceXMLObject
- Parameters:
localName
- Local name of the element- Throws:
org.xml.sax.SAXException
-
handleXMLString
public void handleXMLString(java.lang.String s) throws org.xml.sax.SAXExceptionDescription copied from interface:XMLObject
Handles a string within an XML element.- Specified by:
handleXMLString
in interfaceXMLObject
- Parameters:
s
- String to handle- Throws:
org.xml.sax.SAXException
-
writeXML
public void writeXML(int tab, java.io.Writer writer, XMLOutputOptions options, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Ascii
will be used. -
writeXML
public void writeXML(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file, asXMLType.Normal
. The default format ofXMLFormat.Ascii
will be used. The basic contract for this method is that it should not write a newline character at its start or end. -
writeXML
public void writeXML(int tab, java.io.Writer writer) throws java.io.IOExceptionDescription copied from interface:XMLObject
Writes the XML representation of this object to file. The basic contract for this method is that it should not write a newline character at its start or end. The default format ofXMLFormat.Ascii
will be used. -
getShortXML
public java.lang.String getShortXML(int tab)Description copied from interface:XMLObject
Returns a short XML representation of this object.- Specified by:
getShortXML
in interfaceXMLObject
- Returns:
-
getLocalName
public java.lang.String getLocalName()Description copied from interface:XMLObject
Returns the local name associated with this XML object.- Specified by:
getLocalName
in interfaceXMLObject
- Returns:
-