Class NameMap

java.lang.Object
mgui.interfaces.AbstractInterfaceObject
mgui.interfaces.maps.NameMap
All Implemented Interfaces:
InterfaceObject, NamedObject, TreeObject, CleanableObject, XMLObject, IconObject

public class NameMap
extends AbstractInterfaceObject
implements IconObject, XMLObject
Associates a name with an integer. Maintains two HashMaps for time-efficient querying.
Author:
Andrew Reid
  • 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
    protected java.util.HashMap<java.lang.Integer,​java.lang.String> indexes  
    protected java.util.HashMap<java.lang.String,​java.lang.Integer> names  

    Fields inherited from class mgui.interfaces.AbstractInterfaceObject

    isDestroyed, tree_nodes
  • Constructor Summary

    Constructors
    Constructor Description
    NameMap()  
    NameMap​(java.lang.String name)  
    NameMap​(java.lang.String name, boolean strict_naming)
    Instantiate this name map.
  • Method Summary

    Modifier and Type Method Description
    boolean add​(int index, java.lang.String name)  
    void addAll​(NameMap map)  
    void clear()  
    boolean contains​(int i)  
    boolean contains​(java.lang.String s)  
    java.lang.String get​(int index)  
    int get​(java.lang.String name)  
    java.lang.String getDTD()
    Returns the Data Type Declaration (DTD) for this object's XML representation
    java.util.ArrayList<java.lang.Integer> getIndices()  
    java.lang.String getLocalName()
    Returns the local name associated with this XML object.
    java.util.Set<java.lang.String> getNames()
    Returns all names in this name map.
    javax.swing.Icon getObjectIcon()
    Returns the Icon associated with this object.
    java.lang.String getShortXML​(int tab)
    Returns a short XML representation of this object.
    int getSize()  
    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.
    XMLObject getXMLInstance​(org.xml.sax.Attributes attributes)  
    java.lang.String getXMLSchema()
    Returns the XML schema for this object's XML representation
    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.
    boolean remove​(int index)  
    boolean remove​(java.lang.String name)  
    boolean set​(int index, java.lang.String name)  
    void setTreeNode​(InterfaceTreeNode treeNode)
    Sets the children for this node's InterfaceTreeNode.
    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 mgui.interfaces.AbstractInterfaceObject

    clean, destroy, getName, isDestroyed, issueTreeNode, setName, updateTreeNodes

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
  • Field Details

    • names

      protected java.util.HashMap<java.lang.String,​java.lang.Integer> names
    • indexes

      protected java.util.HashMap<java.lang.Integer,​java.lang.String> indexes
  • Constructor Details

    • NameMap

      public NameMap()
    • NameMap

      public NameMap​(java.lang.String name)
    • NameMap

      public NameMap​(java.lang.String name, boolean strict_naming)
      Instantiate this name map.
      Parameters:
      name -
      strict_naming - If true, do not allow identical names; if this is set to false, the get(String) function will return -Integer.MAX_VALUE.
  • Method Details

    • 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:
    • getSize

      public int getSize()
    • getNames

      public java.util.Set<java.lang.String> getNames()
      Returns all names in this name map. If strict_naming=false, this will be an empty set.
      Returns:
    • 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
      Overrides:
      getTreeLabel in class AbstractInterfaceObject
      Returns:
    • getIndices

      public java.util.ArrayList<java.lang.Integer> getIndices()
    • clear

      public void clear()
    • contains

      public boolean contains​(java.lang.String s)
    • contains

      public boolean contains​(int i)
    • addAll

      public void addAll​(NameMap map)
    • add

      public boolean add​(int index, java.lang.String name)
    • set

      public boolean set​(int index, java.lang.String name)
    • get

      public int get​(java.lang.String name)
    • get

      public java.lang.String get​(int index)
    • remove

      public boolean remove​(int index)
    • remove

      public boolean remove​(java.lang.String name)
    • 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
      Overrides:
      setTreeNode in class AbstractInterfaceObject
    • toString

      public java.lang.String toString()
      Overrides:
      toString in class java.lang.Object
    • 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:
    • 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:
    • 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:
    • 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:
    • handleXMLElementStart

      public void handleXMLElementStart​(java.lang.String localName, org.xml.sax.Attributes attributes, XMLObject.XMLType type)
      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
    • handleXMLElementEnd

      public void handleXMLElementEnd​(java.lang.String localName)
      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
    • handleXMLString

      public void handleXMLString​(java.lang.String s)
      Description copied from interface: XMLObject
      Handles a string within an XML element.
      Specified by:
      handleXMLString in interface XMLObject
      Parameters:
      s - String to handle
    • 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:
    • getXMLInstance

      public XMLObject getXMLInstance​(org.xml.sax.Attributes attributes)
    • 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
    • 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, 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