Package org.jvnet.lafplugin
Class XMLElement
- java.lang.Object
-
- org.jvnet.lafplugin.XMLElement
-
public class XMLElement extends java.lang.Object
XMLElement is a representation of an XML object. The object is able to parse XML code.- Parsing XML Data
-
You can parse XML data using the following code:
XMLElement xml = new XMLElement();
FileReader reader = new FileReader("filename.xml");
xml.parseFromReader(reader);
- Retrieving Attributes
-
You can enumerate the attributes of an element using the method
enumerateAttributeNames
. The attribute values can be retrieved using the methodgetStringAttribute
. The following example shows how to list the attributes of an element:XMLElement element = ...;
Enumeration enum = element.getAttributeNames();
while (enum.hasMoreElements()) {
String key = (String) enum.nextElement();
String value = element.getStringAttribute(key);
System.out.println(key + " = " + value);
}
- Retrieving Child Elements
-
You can enumerate the children of an element using
enumerateChildren
. The number of child elements can be retrieved usingcountChildren
.
- Elements Containing Character Data
-
If an elements contains character data, like in the following example:
<title>The Title</title>
getContent
.
- Subclassing XMLElement
-
When subclassing XMLElement, you need to override the method
createAnotherElement
which has to return a new copy of the receiver.
- See Also:
nanoxml.XMLParseException
-
-
Field Summary
Fields Modifier and Type Field Description static int
NANOXML_MAJOR_VERSION
Major version of NanoXML.static int
NANOXML_MINOR_VERSION
Minor version of NanoXML.
-
Constructor Summary
Constructors Constructor Description XMLElement()
Creates and initializes a new XML element.XMLElement(boolean skipLeadingWhitespace)
Creates and initializes a new XML element.XMLElement(java.util.Hashtable entities)
Creates and initializes a new XML element.XMLElement(java.util.Hashtable entities, boolean skipLeadingWhitespace)
Creates and initializes a new XML element.XMLElement(java.util.Hashtable entities, boolean skipLeadingWhitespace, boolean ignoreCase)
Creates and initializes a new XML element.
-
Method Summary
All Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description void
addChild(XMLElement child)
Adds a child element.void
addProperty(java.lang.String name, double value)
Deprecated.UsesetDoubleAttribute
instead.void
addProperty(java.lang.String key, int value)
Deprecated.UsesetIntAttribute
instead.void
addProperty(java.lang.String name, java.lang.Object value)
Deprecated.UsesetAttribute
instead.int
countChildren()
Returns the number of child elements of the element.java.util.Enumeration
enumerateAttributeNames()
Enumerates the attribute names.java.util.Enumeration
enumerateChildren()
Enumerates the child elements.java.util.Enumeration
enumeratePropertyNames()
Deprecated.UseenumerateAttributeNames
instead.java.lang.Object
getAttribute(java.lang.String name)
Returns an attribute of the element.java.lang.Object
getAttribute(java.lang.String name, java.lang.Object defaultValue)
Returns an attribute of the element.java.lang.Object
getAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiterals)
Returns an attribute by looking up a key in a hashtable.boolean
getBooleanAttribute(java.lang.String name, java.lang.String trueValue, java.lang.String falseValue, boolean defaultValue)
Returns an attribute of the element.java.util.Vector
getChildren()
Returns the child elements as a Vector.java.lang.String
getContent()
Returns the PCDATA content of the object.java.lang.String
getContents()
Deprecated.UsegetContent
instead.double
getDoubleAttribute(java.lang.String name)
Returns an attribute of the element.double
getDoubleAttribute(java.lang.String name, double defaultValue)
Returns an attribute of the element.double
getDoubleAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiteralNumbers)
Returns an attribute by looking up a key in a hashtable.int
getIntAttribute(java.lang.String name)
Returns an attribute of the element.int
getIntAttribute(java.lang.String name, int defaultValue)
Returns an attribute of the element.int
getIntAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiteralNumbers)
Returns an attribute by looking up a key in a hashtable.int
getIntProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetIntAttribute
instead.int
getLineNr()
Returns the line nr in the source data on which the element is found.java.lang.String
getName()
Returns the name of the element.java.lang.String
getProperty(java.lang.String name)
Deprecated.UsegetStringAttribute
instead.double
getProperty(java.lang.String name, double defaultValue)
Deprecated.UsegetDoubleAttribute
instead.int
getProperty(java.lang.String name, int defaultValue)
Deprecated.UsegetIntAttribute
instead.java.lang.String
getProperty(java.lang.String name, java.lang.String defaultValue)
Deprecated.UsegetStringAttribute
instead.boolean
getProperty(java.lang.String key, java.lang.String trueValue, java.lang.String falseValue, boolean defaultValue)
Deprecated.UsegetBooleanAttribute
instead.java.lang.Object
getProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetAttribute
instead.double
getSpecialDoubleProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetDoubleAttribute
instead.int
getSpecialIntProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetIntAttribute
instead.java.lang.String
getStringAttribute(java.lang.String name)
Returns an attribute of the element.java.lang.String
getStringAttribute(java.lang.String name, java.lang.String defaultValue)
Returns an attribute of the element.java.lang.String
getStringAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiterals)
Returns an attribute by looking up a key in a hashtable.java.lang.String
getStringProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetStringAttribute
instead.java.lang.String
getTagName()
Deprecated.UsegetName
instead.void
parseCharArray(char[] input, int offset, int end)
Reads one XML element from a char array and parses it.void
parseCharArray(char[] input, int offset, int end, int startingLineNr)
Reads one XML element from a char array and parses it.void
parseFromReader(java.io.Reader reader)
Reads one XML element from a java.io.Reader and parses it.void
parseFromReader(java.io.Reader reader, int startingLineNr)
Reads one XML element from a java.io.Reader and parses it.void
parseString(java.lang.String string)
Reads one XML element from a String and parses it.void
parseString(java.lang.String string, int offset)
Reads one XML element from a String and parses it.void
parseString(java.lang.String string, int offset, int end)
Reads one XML element from a String and parses it.void
parseString(java.lang.String string, int offset, int end, int startingLineNr)
Reads one XML element from a String and parses it.void
removeAttribute(java.lang.String name)
Removes an attribute.void
removeChild(java.lang.String name)
Deprecated.UseremoveAttribute
instead.void
removeChild(XMLElement child)
Removes a child element.void
removeProperty(java.lang.String name)
Deprecated.UseremoveAttribute
instead.void
setAttribute(java.lang.String name, java.lang.Object value)
Adds or modifies an attribute.void
setContent(java.lang.String content)
Changes the content string.void
setDoubleAttribute(java.lang.String name, double value)
Adds or modifies an attribute.void
setIntAttribute(java.lang.String name, int value)
Adds or modifies an attribute.void
setName(java.lang.String name)
Changes the name of the element.void
setTagName(java.lang.String name)
Deprecated.UsesetName
instead.java.lang.String
toString()
Writes the XML element to a string.void
write(java.io.Writer writer)
Writes the XML element to a writer.
-
-
-
Field Detail
-
NANOXML_MAJOR_VERSION
public static final int NANOXML_MAJOR_VERSION
Major version of NanoXML. Classes with the same major and minor version are binary compatible. Classes with the same major version are source compatible. If the major version is different, you may need to modify the client source code.- See Also:
nanoxml.XMLElement#NANOXML_MINOR_VERSION
, Constant Field Values
-
NANOXML_MINOR_VERSION
public static final int NANOXML_MINOR_VERSION
Minor version of NanoXML. Classes with the same major and minor version are binary compatible. Classes with the same major version are source compatible. If the major version is different, you may need to modify the client source code.- See Also:
nanoxml.XMLElement#NANOXML_MAJOR_VERSION
, Constant Field Values
-
-
Constructor Detail
-
XMLElement
public XMLElement()
Creates and initializes a new XML element. Calling the construction is equivalent to:new XMLElement(new Hashtable(), false, true)
- Postconditions:
-
- countChildren() => 0
- enumerateChildren() => empty enumeration
- enumeratePropertyNames() => empty enumeration
- getChildren() => empty vector
- getContent() => ""
- getLineNr() => 0
- getName() => null
- See Also:
XMLElement(Hashtable)
,nanoxml.XMLElement#XMLElement(boolean)
,XMLElement(Hashtable, boolean)
-
XMLElement
public XMLElement(java.util.Hashtable entities)
Creates and initializes a new XML element. Calling the construction is equivalent to:new XMLElement(entities, false, true)
- Parameters:
entities
- The entity conversion table.
- Preconditions:
-
entities != null
- Postconditions:
-
- countChildren() => 0
- enumerateChildren() => empty enumeration
- enumeratePropertyNames() => empty enumeration
- getChildren() => empty vector
- getContent() => ""
- getLineNr() => 0
- getName() => null
- See Also:
nanoxml.XMLElement#XMLElement()
,nanoxml.XMLElement#XMLElement(boolean)
,XMLElement(Hashtable, boolean)
-
XMLElement
public XMLElement(boolean skipLeadingWhitespace)
Creates and initializes a new XML element. Calling the construction is equivalent to:new XMLElement(new Hashtable(), skipLeadingWhitespace, true)
- Parameters:
skipLeadingWhitespace
-true
if leading and trailing whitespace in PCDATA content has to be removed.
- Postconditions:
-
- countChildren() => 0
- enumerateChildren() => empty enumeration
- enumeratePropertyNames() => empty enumeration
- getChildren() => empty vector
- getContent() => ""
- getLineNr() => 0
- getName() => null
- See Also:
nanoxml.XMLElement#XMLElement()
,XMLElement(Hashtable)
,XMLElement(Hashtable, boolean)
-
XMLElement
public XMLElement(java.util.Hashtable entities, boolean skipLeadingWhitespace)
Creates and initializes a new XML element. Calling the construction is equivalent to:new XMLElement(entities, skipLeadingWhitespace, true)
- Parameters:
entities
- The entity conversion table.skipLeadingWhitespace
-true
if leading and trailing whitespace in PCDATA content has to be removed.
- Preconditions:
-
entities != null
- Postconditions:
-
- countChildren() => 0
- enumerateChildren() => empty enumeration
- enumeratePropertyNames() => empty enumeration
- getChildren() => empty vector
- getContent() => ""
- getLineNr() => 0
- getName() => null
- See Also:
nanoxml.XMLElement#XMLElement()
,nanoxml.XMLElement#XMLElement(boolean)
,XMLElement(Hashtable)
-
XMLElement
public XMLElement(java.util.Hashtable entities, boolean skipLeadingWhitespace, boolean ignoreCase)
Creates and initializes a new XML element.- Parameters:
entities
- The entity conversion table.skipLeadingWhitespace
-true
if leading and trailing whitespace in PCDATA content has to be removed.ignoreCase
-true
if the case of element and attribute names have to be ignored.
- Preconditions:
-
entities != null
- Postconditions:
-
- countChildren() => 0
- enumerateChildren() => empty enumeration
- enumeratePropertyNames() => empty enumeration
- getChildren() => empty vector
- getContent() => ""
- getLineNr() => 0
- getName() => null
- See Also:
nanoxml.XMLElement#XMLElement()
,nanoxml.XMLElement#XMLElement(boolean)
,XMLElement(Hashtable)
,XMLElement(Hashtable, boolean)
-
-
Method Detail
-
addChild
public void addChild(XMLElement child)
Adds a child element.- Parameters:
child
- The child element to add.
- Preconditions:
-
child != null
child.getName() != null
child
does not have a parent element
- Postconditions:
-
- countChildren() => old.countChildren() + 1
- enumerateChildren() => old.enumerateChildren() + child
- getChildren() => old.enumerateChildren() + child
- See Also:
nanoxml.XMLElement#countChildren()
,nanoxml.XMLElement#enumerateChildren()
,nanoxml.XMLElement#getChildren()
,removeChild(XMLElement)
-
setAttribute
public void setAttribute(java.lang.String name, java.lang.Object value)
Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifiervalue != null
- Postconditions:
-
- enumerateAttributeNames() => old.enumerateAttributeNames() + name
- getAttribute(name) => value
- See Also:
setDoubleAttribute(String, double)
,setIntAttribute(String, int)
,nanoxml.XMLElement#enumerateAttributeNames()
,getAttribute(String)
,getAttribute(String, Object)
,getAttribute(String, Hashtable, String, boolean)
,getStringAttribute(String)
,getStringAttribute(String, String)
,getStringAttribute(String, Hashtable, String, boolean)
-
addProperty
public void addProperty(java.lang.String name, java.lang.Object value)
Deprecated.UsesetAttribute
instead.Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
-
setIntAttribute
public void setIntAttribute(java.lang.String name, int value)
Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- Postconditions:
-
- enumerateAttributeNames() => old.enumerateAttributeNames() + name
- getIntAttribute(name) => value
- See Also:
setDoubleAttribute(String, double)
,setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getIntAttribute(String)
,getIntAttribute(String, int)
,getIntAttribute(String, Hashtable, String, boolean)
-
addProperty
public void addProperty(java.lang.String key, int value)
Deprecated.UsesetIntAttribute
instead.Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
-
setDoubleAttribute
public void setDoubleAttribute(java.lang.String name, double value)
Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- Postconditions:
-
- enumerateAttributeNames() => old.enumerateAttributeNames() + name
- getDoubleAttribute(name) => value
- See Also:
setIntAttribute(String, int)
,setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getDoubleAttribute(String)
,getDoubleAttribute(String, double)
,getDoubleAttribute(String, Hashtable, String, boolean)
-
addProperty
public void addProperty(java.lang.String name, double value)
Deprecated.UsesetDoubleAttribute
instead.Adds or modifies an attribute.- Parameters:
name
- The name of the attribute.value
- The value of the attribute.
-
countChildren
public int countChildren()
Returns the number of child elements of the element.- Postconditions:
-
result >= 0
- See Also:
addChild(XMLElement)
,nanoxml.XMLElement#enumerateChildren()
,nanoxml.XMLElement#getChildren()
,removeChild(XMLElement)
-
enumerateAttributeNames
public java.util.Enumeration enumerateAttributeNames()
Enumerates the attribute names.- Postconditions:
-
result != null
- See Also:
setDoubleAttribute(String, double)
,setIntAttribute(String, int)
,setAttribute(String, Object)
,removeAttribute(String)
,getAttribute(String)
,getAttribute(String, String)
,getAttribute(String, Hashtable, String, boolean)
,getStringAttribute(String)
,getStringAttribute(String, String)
,getStringAttribute(String, Hashtable, String, boolean)
,getIntAttribute(String)
,getIntAttribute(String, int)
,getIntAttribute(String, Hashtable, String, boolean)
,getDoubleAttribute(String)
,getDoubleAttribute(String, double)
,getDoubleAttribute(String, Hashtable, String, boolean)
,getBooleanAttribute(String, String, String, boolean)
-
enumeratePropertyNames
public java.util.Enumeration enumeratePropertyNames()
Deprecated.UseenumerateAttributeNames
instead.Enumerates the attribute names.
-
enumerateChildren
public java.util.Enumeration enumerateChildren()
Enumerates the child elements.- Postconditions:
-
result != null
- See Also:
addChild(XMLElement)
,nanoxml.XMLElement#countChildren()
,nanoxml.XMLElement#getChildren()
,removeChild(XMLElement)
-
getChildren
public java.util.Vector getChildren()
Returns the child elements as a Vector. It is safe to modify this Vector.- Postconditions:
-
result != null
- See Also:
addChild(XMLElement)
,nanoxml.XMLElement#countChildren()
,nanoxml.XMLElement#enumerateChildren()
,removeChild(XMLElement)
-
getContents
public java.lang.String getContents()
Deprecated.UsegetContent
instead.Returns the PCDATA content of the object. If there is no such content,null
is returned.
-
getContent
public java.lang.String getContent()
Returns the PCDATA content of the object. If there is no such content,null
is returned.- See Also:
setContent(String)
-
getLineNr
public int getLineNr()
Returns the line nr in the source data on which the element is found. This method returns0
there is no associated source data.- Postconditions:
-
result >= 0
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name)
Returns an attribute of the element. If the attribute doesn't exist,null
is returned.- Parameters:
name
- The name of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getAttribute(String, Object)
,getAttribute(String, Hashtable, String, boolean)
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name, java.lang.Object defaultValue)
Returns an attribute of the element. If the attribute doesn't exist,defaultValue
is returned.- Parameters:
name
- The name of the attribute.defaultValue
- Key to use if the attribute is missing.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getAttribute(String)
,getAttribute(String, Hashtable, String, boolean)
-
getAttribute
public java.lang.Object getAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiterals)
Returns an attribute by looking up a key in a hashtable. If the attribute doesn't exist, the value corresponding to defaultKey is returned.As an example, if valueSet contains the mapping
"one" => "1"
and the element contains the attributeattr="one"
, thengetAttribute("attr", mapping, defaultKey, false)
returns"1"
.- Parameters:
name
- The name of the attribute.valueSet
- Hashtable mapping keys to values.defaultKey
- Key to use if the attribute is missing.allowLiterals
-true
if literals are valid.
- Preconditions:
-
name != null
name
is a valid XML identifiervalueSet
!= null- the keys of
valueSet
are strings
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getAttribute(String)
,getAttribute(String, Object)
-
getStringAttribute
public java.lang.String getStringAttribute(java.lang.String name)
Returns an attribute of the element. If the attribute doesn't exist,null
is returned.- Parameters:
name
- The name of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getStringAttribute(String, String)
,getStringAttribute(String, Hashtable, String, boolean)
-
getStringAttribute
public java.lang.String getStringAttribute(java.lang.String name, java.lang.String defaultValue)
Returns an attribute of the element. If the attribute doesn't exist,defaultValue
is returned.- Parameters:
name
- The name of the attribute.defaultValue
- Key to use if the attribute is missing.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getStringAttribute(String)
,getStringAttribute(String, Hashtable, String, boolean)
-
getStringAttribute
public java.lang.String getStringAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiterals)
Returns an attribute by looking up a key in a hashtable. If the attribute doesn't exist, the value corresponding to defaultKey is returned.As an example, if valueSet contains the mapping
"one" => "1"
and the element contains the attributeattr="one"
, thengetAttribute("attr", mapping, defaultKey, false)
returns"1"
.- Parameters:
name
- The name of the attribute.valueSet
- Hashtable mapping keys to values.defaultKey
- Key to use if the attribute is missing.allowLiterals
-true
if literals are valid.
- Preconditions:
-
name != null
name
is a valid XML identifiervalueSet
!= null- the keys of
valueSet
are strings - the values of
valueSet
are strings
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
,getStringAttribute(String)
,getStringAttribute(String, String)
-
getIntAttribute
public int getIntAttribute(java.lang.String name)
Returns an attribute of the element. If the attribute doesn't exist,0
is returned.- Parameters:
name
- The name of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setIntAttribute(String, int)
,nanoxml.XMLElement#enumerateAttributeNames()
,getIntAttribute(String, int)
,getIntAttribute(String, Hashtable, String, boolean)
-
getIntAttribute
public int getIntAttribute(java.lang.String name, int defaultValue)
Returns an attribute of the element. If the attribute doesn't exist,defaultValue
is returned.- Parameters:
name
- The name of the attribute.defaultValue
- Key to use if the attribute is missing.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setIntAttribute(String, int)
,nanoxml.XMLElement#enumerateAttributeNames()
,getIntAttribute(String)
,getIntAttribute(String, Hashtable, String, boolean)
-
getIntAttribute
public int getIntAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiteralNumbers)
Returns an attribute by looking up a key in a hashtable. If the attribute doesn't exist, the value corresponding to defaultKey is returned.As an example, if valueSet contains the mapping
"one" => 1
and the element contains the attributeattr="one"
, thengetIntAttribute("attr", mapping, defaultKey, false)
returns1
.- Parameters:
name
- The name of the attribute.valueSet
- Hashtable mapping keys to values.defaultKey
- Key to use if the attribute is missing.allowLiteralNumbers
-true
if literal numbers are valid.
- Preconditions:
-
name != null
name
is a valid XML identifiervalueSet
!= null- the keys of
valueSet
are strings - the values of
valueSet
are Integer objects defaultKey
is eithernull
, a key invalueSet
or an integer.
- See Also:
setIntAttribute(String, int)
,nanoxml.XMLElement#enumerateAttributeNames()
,getIntAttribute(String)
,getIntAttribute(String, int)
-
getDoubleAttribute
public double getDoubleAttribute(java.lang.String name)
Returns an attribute of the element. If the attribute doesn't exist,0.0
is returned.- Parameters:
name
- The name of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setDoubleAttribute(String, double)
,nanoxml.XMLElement#enumerateAttributeNames()
,getDoubleAttribute(String, double)
,getDoubleAttribute(String, Hashtable, String, boolean)
-
getDoubleAttribute
public double getDoubleAttribute(java.lang.String name, double defaultValue)
Returns an attribute of the element. If the attribute doesn't exist,defaultValue
is returned.- Parameters:
name
- The name of the attribute.defaultValue
- Key to use if the attribute is missing.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
setDoubleAttribute(String, double)
,nanoxml.XMLElement#enumerateAttributeNames()
,getDoubleAttribute(String)
,getDoubleAttribute(String, Hashtable, String, boolean)
-
getDoubleAttribute
public double getDoubleAttribute(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey, boolean allowLiteralNumbers)
Returns an attribute by looking up a key in a hashtable. If the attribute doesn't exist, the value corresponding to defaultKey is returned.As an example, if valueSet contains the mapping
"one" => 1.0
and the element contains the attributeattr="one"
, thengetDoubleAttribute("attr", mapping, defaultKey, false)
returns1.0
.- Parameters:
name
- The name of the attribute.valueSet
- Hashtable mapping keys to values.defaultKey
- Key to use if the attribute is missing.allowLiteralNumbers
-true
if literal numbers are valid.
- Preconditions:
-
name != null
name
is a valid XML identifiervalueSet != null
- the keys of
valueSet
are strings - the values of
valueSet
are Double objects defaultKey
is eithernull
, a key invalueSet
or a double.
- See Also:
setDoubleAttribute(String, double)
,nanoxml.XMLElement#enumerateAttributeNames()
,getDoubleAttribute(String)
,getDoubleAttribute(String, double)
-
getBooleanAttribute
public boolean getBooleanAttribute(java.lang.String name, java.lang.String trueValue, java.lang.String falseValue, boolean defaultValue)
Returns an attribute of the element. If the attribute doesn't exist,defaultValue
is returned. If the value of the attribute is equal totrueValue
,true
is returned. If the value of the attribute is equal tofalseValue
,false
is returned. If the value doesn't matchtrueValue
orfalseValue
, an exception is thrown.- Parameters:
name
- The name of the attribute.trueValue
- The value associated withtrue
.falseValue
- The value associated withtrue
.defaultValue
- Value to use if the attribute is missing.
- Preconditions:
-
name != null
name
is a valid XML identifiertrueValue
andfalseValue
are different strings.
- See Also:
setAttribute(String, Object)
,removeAttribute(String)
,nanoxml.XMLElement#enumerateAttributeNames()
-
getIntProperty
public int getIntProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetIntAttribute
instead.Returns an attribute by looking up a key in a hashtable.
-
getProperty
public java.lang.String getProperty(java.lang.String name)
Deprecated.UsegetStringAttribute
instead.Returns an attribute.
-
getProperty
public java.lang.String getProperty(java.lang.String name, java.lang.String defaultValue)
Deprecated.UsegetStringAttribute
instead.Returns an attribute.
-
getProperty
public int getProperty(java.lang.String name, int defaultValue)
Deprecated.UsegetIntAttribute
instead.Returns an attribute.
-
getProperty
public double getProperty(java.lang.String name, double defaultValue)
Deprecated.UsegetDoubleAttribute
instead.Returns an attribute.
-
getProperty
public boolean getProperty(java.lang.String key, java.lang.String trueValue, java.lang.String falseValue, boolean defaultValue)
Deprecated.UsegetBooleanAttribute
instead.Returns an attribute.
-
getProperty
public java.lang.Object getProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetAttribute
instead.Returns an attribute by looking up a key in a hashtable.
-
getStringProperty
public java.lang.String getStringProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetStringAttribute
instead.Returns an attribute by looking up a key in a hashtable.
-
getSpecialIntProperty
public int getSpecialIntProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetIntAttribute
instead.Returns an attribute by looking up a key in a hashtable.
-
getSpecialDoubleProperty
public double getSpecialDoubleProperty(java.lang.String name, java.util.Hashtable valueSet, java.lang.String defaultKey)
Deprecated.UsegetDoubleAttribute
instead.Returns an attribute by looking up a key in a hashtable.
-
getName
public java.lang.String getName()
Returns the name of the element.- See Also:
setName(String)
-
getTagName
public java.lang.String getTagName()
Deprecated.UsegetName
instead.Returns the name of the element.
-
parseFromReader
public void parseFromReader(java.io.Reader reader) throws java.io.IOException, XMLParseException
Reads one XML element from a java.io.Reader and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.
- Preconditions:
-
reader != null
reader
is not closed
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- the reader points to the first character following the last '>' character of the XML element
- Throws:
java.io.IOException
- If an error occured while reading the input.nanoxml.XMLParseException
- If an error occured while parsing the read data.XMLParseException
-
parseFromReader
public void parseFromReader(java.io.Reader reader, int startingLineNr) throws java.io.IOException, XMLParseException
Reads one XML element from a java.io.Reader and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.startingLineNr
- The line number of the first line in the data.
- Preconditions:
-
reader != null
reader
is not closed
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- the reader points to the first character following the last '>' character of the XML element
- Throws:
java.io.IOException
- If an error occured while reading the input.nanoxml.XMLParseException
- If an error occured while parsing the read data.XMLParseException
-
parseString
public void parseString(java.lang.String string) throws XMLParseException
Reads one XML element from a String and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.
- Preconditions:
-
string != null
string.length() > 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
parseString
public void parseString(java.lang.String string, int offset) throws XMLParseException
Reads one XML element from a String and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.offset
- The first character instring
to scan.
- Preconditions:
-
string != null
offset < string.length()
offset >= 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
parseString
public void parseString(java.lang.String string, int offset, int end) throws XMLParseException
Reads one XML element from a String and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.offset
- The first character instring
to scan.end
- The character where to stop scanning. This character is not scanned.
- Preconditions:
-
string != null
end <= string.length()
offset < end
offset >= 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
parseString
public void parseString(java.lang.String string, int offset, int end, int startingLineNr) throws XMLParseException
Reads one XML element from a String and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.offset
- The first character instring
to scan.end
- The character where to stop scanning. This character is not scanned.startingLineNr
- The line number of the first line in the data.
- Preconditions:
-
string != null
end <= string.length()
offset < end
offset >= 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
parseCharArray
public void parseCharArray(char[] input, int offset, int end) throws XMLParseException
Reads one XML element from a char array and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.offset
- The first character instring
to scan.end
- The character where to stop scanning. This character is not scanned.
- Preconditions:
-
input != null
end <= input.length
offset < end
offset >= 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
parseCharArray
public void parseCharArray(char[] input, int offset, int end, int startingLineNr) throws XMLParseException
Reads one XML element from a char array and parses it.- Parameters:
reader
- The reader from which to retrieve the XML data.offset
- The first character instring
to scan.end
- The character where to stop scanning. This character is not scanned.startingLineNr
- The line number of the first line in the data.
- Preconditions:
-
input != null
end <= input.length
offset < end
offset >= 0
- Postconditions:
-
- the state of the receiver is updated to reflect the XML element parsed from the reader
- Throws:
nanoxml.XMLParseException
- If an error occured while parsing the string.XMLParseException
-
removeChild
public void removeChild(XMLElement child)
Removes a child element.- Parameters:
child
- The child element to remove.
- Preconditions:
-
child != null
child
is a child element of the receiver
- Postconditions:
-
- countChildren() => old.countChildren() - 1
- enumerateChildren() => old.enumerateChildren() - child
- getChildren() => old.enumerateChildren() - child
- See Also:
addChild(XMLElement)
,nanoxml.XMLElement#countChildren()
,nanoxml.XMLElement#enumerateChildren()
,nanoxml.XMLElement#getChildren()
-
removeAttribute
public void removeAttribute(java.lang.String name)
Removes an attribute.- Parameters:
name
- The name of the attribute.
- Preconditions:
-
name != null
name
is a valid XML identifier
- Postconditions:
-
- enumerateAttributeNames() => old.enumerateAttributeNames() - name
- getAttribute(name) =>
null
- See Also:
nanoxml.XMLElement#enumerateAttributeNames()
,setDoubleAttribute(String, double)
,setIntAttribute(String, int)
,setAttribute(String, Object)
,getAttribute(String)
,getAttribute(String, Object)
,getAttribute(String, Hashtable, String, boolean)
,getStringAttribute(String)
,getStringAttribute(String, String)
,getStringAttribute(String, Hashtable, String, boolean)
,getIntAttribute(String)
,getIntAttribute(String, int)
,getIntAttribute(String, Hashtable, String, boolean)
,getDoubleAttribute(String)
,getDoubleAttribute(String, double)
,getDoubleAttribute(String, Hashtable, String, boolean)
,getBooleanAttribute(String, String, String, boolean)
-
removeProperty
public void removeProperty(java.lang.String name)
Deprecated.UseremoveAttribute
instead.Removes an attribute.- Parameters:
name
- The name of the attribute.
-
removeChild
public void removeChild(java.lang.String name)
Deprecated.UseremoveAttribute
instead.Removes an attribute.- Parameters:
name
- The name of the attribute.
-
setContent
public void setContent(java.lang.String content)
Changes the content string.- Parameters:
content
- The new content string.
-
setTagName
public void setTagName(java.lang.String name)
Deprecated.UsesetName
instead.Changes the name of the element.- Parameters:
name
- The new name.
-
setName
public void setName(java.lang.String name)
Changes the name of the element.- Parameters:
name
- The new name.
- Preconditions:
-
name != null
name
is a valid XML identifier
- See Also:
nanoxml.XMLElement#getName()
-
toString
public java.lang.String toString()
Writes the XML element to a string.- Overrides:
toString
in classjava.lang.Object
- See Also:
write(Writer)
-
write
public void write(java.io.Writer writer) throws java.io.IOException
Writes the XML element to a writer.- Parameters:
writer
- The writer to write the XML data to.
- Preconditions:
-
writer != null
writer
is not closed
- Throws:
java.io.IOException
- If the data could not be written to the writer.- See Also:
nanoxml.XMLElement#toString()
-
-