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 attribute name, or null if it does not exist.
    java.lang.String getDefaultLayout()  
    java.lang.String getDTD()
    Returns the Data Type Declaration (DTD) for this object's XML representation
    boolean 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 the Icon 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 representation
    void 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 destroyed
    InterfaceTreeNode issueTreeNode()
    Issues a new InterfaceTreeNode 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's InterfaceTreeNode.
    void showPopupMenu​(java.awt.event.MouseEvent e)
    Shows a popup menu at the point of the given MouseEvent.
    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, as XMLType.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

      public AttributeList attributes
    • graphListeners

      public java.util.ArrayList<InterfaceGraphListener> graphListeners
    • treeNodes

      protected java.util.ArrayList<InterfaceTreeNode> treeNodes
    • treeNode

      public InterfaceTreeNode treeNode
    • name

      public java.lang.String name
    • isDestroyed

      protected boolean isDestroyed
    • xml_nodes

      protected java.util.HashMap<java.lang.Integer,​AbstractGraphNode> 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 interface CleanableObject
    • getObjectIcon

      public javax.swing.Icon getObjectIcon()
      Description copied from interface: IconObject
      Returns the Icon associated with this object.
      Specified by:
      getObjectIcon in interface IconObject
      Returns:
    • clone

      public java.lang.Object clone() throws java.lang.CloneNotSupportedException
      Overrides:
      clone in class java.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 interface NamedObject
      Returns:
    • setName

      public void setName​(java.lang.String name)
      Description copied from interface: NamedObject
      Sets the name for this object.
      Specified by:
      setName in interface NamedObject
    • 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 interface TreeObject
      Returns:
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class edu.uci.ics.jung.graph.AbstractGraph<AbstractGraphNode,​AbstractGraphEdge>
    • getDefaultLayout

      public java.lang.String getDefaultLayout()
    • getLabelNodes

      public boolean getLabelNodes()
    • getLabelEdges

      public boolean getLabelEdges()
    • addGraphListener

      public void addGraphListener​(InterfaceGraphListener g)
    • removeGraphListener

      public void removeGraphListener​(InterfaceGraphListener g)
    • fireGraphListeners

      protected void fireGraphListeners()
    • fireGraphListeners

      protected void fireGraphListeners​(int code)
    • attributeUpdated

      public void attributeUpdated​(AttributeEvent e)
      Description copied from interface: AttributeListener
      Called when an Attribute's value has been updated.
      Specified by:
      attributeUpdated in interface AttributeListener
    • getAttribute

      public Attribute<?> getAttribute​(java.lang.String attrName)
      Description copied from interface: AttributeObject
      Returns a specific attribute for this object.
      Specified by:
      getAttribute in interface AttributeObject
      Returns:
    • getAttributeValue

      public java.lang.Object getAttributeValue​(java.lang.String name)
      Description copied from interface: AttributeObject
      Gets the value of attribute name, or null if it does not exist.
      Specified by:
      getAttributeValue in interface AttributeObject
      Parameters:
      name - Name of the attribute
      Returns:
      the value of attribute name, or null if it does not exist
    • getAttributes

      public AttributeList getAttributes()
      Description copied from interface: AttributeObject
      Returns the list of current attributes for this object.
      Specified by:
      getAttributes in interface AttributeObject
      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 interface AttributeObject
    • setAttributes

      public void setAttributes​(AttributeList thisList)
      Description copied from interface: AttributeObject
      Sets the list of attributes for this object.
      Specified by:
      setAttributes in interface AttributeObject
    • graphUpdated

      public void graphUpdated​(NetworkGraphEvent e)
      Specified by:
      graphUpdated in interface NetworkGraphListener
    • issueTreeNode

      public InterfaceTreeNode issueTreeNode()
      Description copied from interface: TreeObject
      Issues a new InterfaceTreeNode 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 interface TreeObject
      Returns:
    • setTreeNode

      public void setTreeNode​(InterfaceTreeNode treeNode)
      Description copied from interface: TreeObject
      Sets the children for this node's InterfaceTreeNode.
      Specified by:
      setTreeNode in interface TreeObject
    • getPopupMenu

      public InterfacePopupMenu getPopupMenu()
      Description copied from interface: PopupMenuObject
      Produces and returns a popup menu for this object.
      Specified by:
      getPopupMenu in interface PopupMenuObject
      Returns:
    • getPopupMenu

      public InterfacePopupMenu getPopupMenu​(java.util.List<java.lang.Object> selected)
      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 interface PopupMenuObject
      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 interface PopupMenuObject
    • showPopupMenu

      public void showPopupMenu​(java.awt.event.MouseEvent e)
      Description copied from interface: PopupMenuObject
      Shows a popup menu at the point of the given MouseEvent.
      Specified by:
      showPopupMenu in interface PopupMenuObject
    • 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 interface edu.uci.ics.jung.graph.Graph<AbstractGraphNode,​AbstractGraphEdge>
      Overrides:
      addEdge in class edu.uci.ics.jung.graph.AbstractGraph<AbstractGraphNode,​AbstractGraphEdge>
      Parameters:
      edge -
      v1 -
      v2 -
      edgeType -
      Returns:
    • addEdge

      public boolean addEdge​(AbstractGraphEdge edge, edu.uci.ics.jung.graph.util.EdgeType edgeType)
    • 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

      public java.util.ArrayList<AbstractGraphNode> getNodes()
    • destroy

      public void destroy()
      Description copied from interface: InterfaceObject
      Destroy this object (prepare it to be removed from memory)
      Specified by:
      destroy in interface InterfaceObject
    • isDestroyed

      public boolean isDestroyed()
      Description copied from interface: InterfaceObject
      Test whether this object has been destroyed
      Specified by:
      isDestroyed in interface InterfaceObject
      Returns:
    • getDTD

      public java.lang.String getDTD()
      Description copied from interface: XMLObject
      Returns the Data Type Declaration (DTD) for this object's XML representation

      See http://en.wikipedia.org/wiki/Document_Type_Definition for a description.

      Specified by:
      getDTD in interface XMLObject
      Returns:
    • getXMLSchema

      public java.lang.String getXMLSchema()
      Description copied from interface: XMLObject
      Returns the XML schema for this object's XML representation

      See http://en.wikipedia.org/wiki/XML_schema.

      Specified by:
      getXMLSchema in interface XMLObject
      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 the XMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater) functions to write larger objects to file.
      Specified by:
      getXML in interface XMLObject
      Returns:
    • 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 the XMLObject.writeXML(int,java.io.Writer,mgui.io.standard.xml.XMLOutputOptions,mgui.interfaces.ProgressUpdater) functions to write larger objects to file.
      Specified by:
      getXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the opening XML wrapper
      Returns:
    • handleXMLElementStart

      public void handleXMLElementStart​(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type) throws org.xml.sax.SAXException
      Description copied from interface: XMLObject
      Handles the start of an XML element.
      Specified by:
      handleXMLElementStart in interface XMLObject
      Parameters:
      localName - Local name of the element
      attributes - Set of element attributes
      type - The XMLType of this element
      Throws:
      org.xml.sax.SAXException
    • handleXMLElementEnd

      public void handleXMLElementEnd​(java.lang.String localName) throws org.xml.sax.SAXException
      Description copied from interface: XMLObject
      Handles the end of an XML element.
      Specified by:
      handleXMLElementEnd in interface XMLObject
      Parameters:
      localName - Local name of the element
      Throws:
      org.xml.sax.SAXException
    • handleXMLString

      public void handleXMLString​(java.lang.String s) throws org.xml.sax.SAXException
      Description copied from interface: XMLObject
      Handles a string within an XML element.
      Specified by:
      handleXMLString in interface XMLObject
      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.IOException
      Description 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 of XMLFormat.Ascii will be used.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      options - XMLOutputOptions defining the write parameters
      progress_bar - Optional progress updater (may be null)
      Throws:
      java.io.IOException
    • writeXML

      public void writeXML​(int tab, java.io.Writer writer, ProgressUpdater progress_bar) throws java.io.IOException
      Description copied from interface: XMLObject
      Writes the XML representation of this object to file, as XMLType.Normal. The default format of XMLFormat.Ascii will be used. The basic contract for this method is that it should not write a newline character at its start or end.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      progress_bar - Optional progress updater (may be null)
      Throws:
      java.io.IOException
    • writeXML

      public void writeXML​(int tab, java.io.Writer writer) throws java.io.IOException
      Description 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 of XMLFormat.Ascii will be used.
      Specified by:
      writeXML in interface XMLObject
      Parameters:
      tab - The number of tabs to place before the XML text
      writer - The writer
      Throws:
      java.io.IOException
    • 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 interface XMLObject
      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 interface XMLObject
      Returns: