Class VariableInt<T>

java.lang.Object
mgui.interfaces.AbstractInterfaceObject
mgui.interfaces.variables.VariableInt<T>
All Implemented Interfaces:
AttributeObject, InterfaceObject, NamedObject, TreeObject, CleanableObject, XMLObject, IconObject
Direct Known Subclasses:
MatrixInt, StringVectorInt, VectorInt

public abstract class VariableInt<T>
extends AbstractInterfaceObject
implements AttributeObject, IconObject, XMLObject
An interface to a variable object.
Since:
1.0
Version:
1.0
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 AttributeList attributes  
    protected boolean batch  
    protected java.util.ArrayList<VariableListener> listeners  
    protected boolean updated  

    Fields inherited from class mgui.interfaces.AbstractInterfaceObject

    isDestroyed, tree_nodes
  • Constructor Summary

    Constructors
    Constructor Description
    VariableInt()  
  • Method Summary

    Modifier and Type Method Description
    void addListener​(VariableListener listener)  
    protected void fireListeners()  
    abstract java.util.ArrayList<T> getAsList()
    Returns this variable as a single list of values.
    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.
    abstract java.util.ArrayList<java.lang.Integer> getDimensions()  
    java.lang.String getDTD()
    Returns the Data Type Declaration (DTD) for this object's XML representation
    java.lang.String getLocalName()
    Returns the local name associated with this XML object.
    java.lang.String getName()
    Gets the name for this object.
    javax.swing.Icon getObjectIcon()
    Returns the Icon associated with this object.
    VariableInt<T> getPart​(java.lang.String part)
    Parses part to return a part of this variable.
    abstract VariableInt<T> getPart​(java.lang.String name, java.lang.String part)
    Parses part to return a part of this variable.
    java.lang.String getShortXML​(int tab)
    Returns a short XML representation of this object.
    abstract int getSize()
    Returns the total size (number of elements) of this variable.
    java.lang.Class<? extends T> getType()
    Returns a Class object which is the parameterized type of this variable.
    protected abstract T getValue​(java.util.List<java.lang.Integer> indices)
    Returns the value at the given indices; throws an exception if they are out of bounds.
    T getValueAt​(java.util.List<java.lang.Integer> indices)
    Returns the value of this variable at the given indices; throws an exception if they are out of bounds, or of a higher dimensionality than the variable supports.
    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 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 isEditable()  
    boolean isNumeric()
    Determines whether this variable contains numeric values.
    void removeListener​(VariableListener listener)  
    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 setBatch​(boolean b)  
    void setEditable​(boolean b)  
    void setName​(java.lang.String name)
    Sets the name for this object.
    abstract boolean setStringValue​(java.util.List<java.lang.Integer> indices, java.lang.String value)
    Sets the value at the given indices as a String; throws an exception if they are out of bounds, this variable is not editable, or value is an inappropriate value.
    void setTreeNode​(InterfaceTreeNode treeNode)
    Sets the children for this node's InterfaceTreeNode.
    abstract boolean setValue​(java.util.List<java.lang.Integer> indices, T value)
    Sets the value at the given indices; throws an exception if they are out of bounds, this variable is not editable, or value is an inappropriate value.
    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, getTreeLabel, isDestroyed, issueTreeNode, updateTreeNodes

    Methods inherited from class java.lang.Object

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

    • listeners

      protected java.util.ArrayList<VariableListener> listeners
    • attributes

      protected AttributeList attributes
    • batch

      protected boolean batch
    • updated

      protected boolean updated
  • Constructor Details

    • VariableInt

      public VariableInt()
  • Method Details

    • init

      protected void init()
    • getDimensions

      public abstract java.util.ArrayList<java.lang.Integer> getDimensions()
    • 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
      Overrides:
      setName in class AbstractInterfaceObject
    • isEditable

      public boolean isEditable()
    • setEditable

      public void setEditable​(boolean b)
    • getName

      public java.lang.String getName()
      Description copied from interface: NamedObject
      Gets the name for this object.
      Specified by:
      getName in interface NamedObject
      Overrides:
      getName in class AbstractInterfaceObject
      Returns:
    • setBatch

      public void setBatch​(boolean b)
    • fireListeners

      protected void fireListeners()
    • getValueAt

      public T getValueAt​(java.util.List<java.lang.Integer> indices) throws VariableException
      Returns the value of this variable at the given indices; throws an exception if they are out of bounds, or of a higher dimensionality than the variable supports. If the indices are of a lower dimensionality than that of the variable, the returned object is handled by the subclass method. As a general policy, this object should represent the remaining dimensions in some way (i.e., using array notation).
      Parameters:
      indices -
      Returns:
      object at the given indices
      Throws:
      VariableException - if indices.size() is greater than this variable's dimensionality, or indices are out of bounds.
    • getValue

      protected abstract T getValue​(java.util.List<java.lang.Integer> indices) throws VariableException
      Returns the value at the given indices; throws an exception if they are out of bounds. If the indices are of a lower dimension than the variable dimension, the returned object is handled by the subclass method. As a general policy, this object should represent the remaining dimensions in some way.
      Parameters:
      indices -
      Returns:
      object at the given indices
      Throws:
      VariableException
    • setValue

      public abstract boolean setValue​(java.util.List<java.lang.Integer> indices, T value) throws VariableException
      Sets the value at the given indices; throws an exception if they are out of bounds, this variable is not editable, or value is an inappropriate value.
      Parameters:
      indices -
      Returns:
      object at the given indices
      Throws:
      VariableException
    • setStringValue

      public abstract boolean setStringValue​(java.util.List<java.lang.Integer> indices, java.lang.String value) throws VariableException
      Sets the value at the given indices as a String; throws an exception if they are out of bounds, this variable is not editable, or value is an inappropriate value.
      Parameters:
      indices -
      Returns:
      object at the given indices
      Throws:
      VariableException
    • addListener

      public void addListener​(VariableListener listener)
    • removeListener

      public void removeListener​(VariableListener listener)
    • isNumeric

      public boolean isNumeric()
      Determines whether this variable contains numeric values.
      Returns:
    • getType

      public java.lang.Class<? extends T> getType()
      Returns a Class object which is the parameterized type of this variable.
      Returns:
    • 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:
    • getPart

      public VariableInt<T> getPart​(java.lang.String part)
      Parses part to return a part of this variable. Syntax for n dimensions is: "x_start,y_start,..,n_start:x_start,y_start,..,n_start". E.g., "1,2:20,2". Use asterisk, "*" to indicate last element in a dimension. E.g,, "1,2:*,*".
      Parameters:
      name -
      part -
      Returns:
    • getPart

      public abstract VariableInt<T> getPart​(java.lang.String name, java.lang.String part)
      Parses part to return a part of this variable. Syntax for n dimensions is: "x_start,y_start,..,n_start:x_start,y_start,..,n_start". E.g., "1,2:20,2". Use asterisk, "*" to indicate last element in a dimension. E.g,, "1,2:*,*".
      Parameters:
      name -
      part -
      Returns:
    • getAsList

      public abstract java.util.ArrayList<T> getAsList()
      Returns this variable as a single list of values.
      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
      Overrides:
      setTreeNode in class AbstractInterfaceObject
    • 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:
    • getSize

      public abstract int getSize()
      Returns the total size (number of elements) of this variable.
      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
    • 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:
    • 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
    • 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:
    • 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: