Package mgui.interfaces.variables
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 attributename
, ornull
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 representationjava.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 theIcon
associated with this object.VariableInt<T>
getPart(java.lang.String part)
Parsespart
to return a part of this variable.abstract VariableInt<T>
getPart(java.lang.String name, java.lang.String part)
Parsespart
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 aClass
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 representationvoid
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 aString
; throws an exception if they are out of bounds, this variable is not editable, orvalue
is an inappropriate value.void
setTreeNode(InterfaceTreeNode treeNode)
Sets the children for this node'sInterfaceTreeNode
.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, orvalue
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, 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 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
-
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 interfaceNamedObject
- Overrides:
setName
in classAbstractInterfaceObject
-
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 interfaceNamedObject
- Overrides:
getName
in classAbstractInterfaceObject
- Returns:
-
setBatch
public void setBatch(boolean b) -
fireListeners
protected void fireListeners() -
getValueAt
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
- ifindices.size()
is greater than this variable's dimensionality, or indices are out of bounds.
-
getValue
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 VariableExceptionSets the value at the given indices; throws an exception if they are out of bounds, this variable is not editable, orvalue
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 VariableExceptionSets the value at the given indices as aString
; throws an exception if they are out of bounds, this variable is not editable, orvalue
is an inappropriate value.- Parameters:
indices
-- Returns:
- object at the given indices
- Throws:
VariableException
-
addListener
-
removeListener
-
isNumeric
public boolean isNumeric()Determines whether this variable contains numeric values.- Returns:
-
getType
Returns aClass
object which is the parameterized type of this variable.- Returns:
-
getObjectIcon
public javax.swing.Icon getObjectIcon()Description copied from interface:IconObject
Returns theIcon
associated with this object.- Specified by:
getObjectIcon
in interfaceIconObject
- Returns:
-
getPart
Parsespart
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
Parsespart
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
Returns this variable as a single list of values.- Returns:
-
setTreeNode
Description copied from interface:TreeObject
Sets the children for this node'sInterfaceTreeNode
.- Specified by:
setTreeNode
in interfaceTreeObject
- Overrides:
setTreeNode
in classAbstractInterfaceObject
-
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:
-
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 interfaceAttributeObject
-
setAttributes
Description copied from interface:AttributeObject
Sets the list of attributes for this object.- Specified by:
setAttributes
in interfaceAttributeObject
-
toString
public java.lang.String toString()- Overrides:
toString
in classjava.lang.Object
-
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
-
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:
-
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:
-