Package uk.ac.starlink.util
Class PrimitiveXMLEncodeDecode
java.lang.Object
uk.ac.starlink.util.PrimitiveXMLEncodeDecode
- All Implemented Interfaces:
XMLEncodeDecode
An abstract base-class for objects that want to encode and decode
themselves from an XML stream.
It contains the XMLEncodeDecode
interface (with an
unimplemented encode() method) and a number of support methods for
encoding and decoding primitive values.
This implementation also provides default implementations of
ChangeListener
methods that allow an extending class to
provide services for registering, responding and issuing
ChangeEvent
s.
- Version:
- $Id$
- Author:
- Peter W. Draper
-
Field Summary
Fields -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic CDATASection
addCDATASection
(Element rootElement, String value) Create a new CDATA section with the given content and add it as a child of a given element.void
Registers a listener who wants to be informed about changes.static Element
addChildElement
(Element rootElement, String name) Create a child element with no content and add it to the given element.static Element
addChildElement
(Element rootElement, String name, boolean value) Add an element with boolean value as a child of another element.static Element
addChildElement
(Element rootElement, String name, double value) Add an element with double value as a child of another element.static Element
addChildElement
(Element rootElement, String name, int value) Add an element with integer value as a child of another element.static Element
addChildElement
(Element rootElement, String name, String value) Add an element with String value as a child of another element.static boolean
booleanFromString
(String value) Convert a String back to a boolean.static String
booleanToString
(boolean value) Convert a boolean to a String.void
Decode (ie, restore) the internal state of this object from an Element.static double
doubleFromString
(String value) Convert a String back to a double.static String
doubleToString
(double value) Convert a double to a String.abstract void
Encode the internal state of this object so that it is rooted in the given Element.protected void
Send ChangeEvent event to all listeners.getChildElements
(Element element) Return all the Elements that are children of another Element.static NodeList
getChildren
(Element rootElement) Return a List of all children.static String
getElementName
(Element element) Get the name of an element.static String
getElementValue
(Element element) Get the "value" of an element (really the content).static int
intFromString
(String value) Convert a String back to an integer.static String
intToString
(int value) Convert an integer to a String.static long
longFromString
(String value) Convert a String back to a long.static String
longToString
(long value) Convert a long to a String.void
De-registers a listener for changes.abstract void
setFromString
(String name, String value) Set the value of a object field using string representation of the field name and its value.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface uk.ac.starlink.util.XMLEncodeDecode
getTagName
-
Field Details
-
listeners
-
-
Constructor Details
-
PrimitiveXMLEncodeDecode
public PrimitiveXMLEncodeDecode()
-
-
Method Details
-
addChangeListener
Registers a listener who wants to be informed about changes.- Parameters:
l
- the ChangeListener listener.
-
removeChangeListener
De-registers a listener for changes.- Parameters:
l
- the ChangeListener listener.
-
fireChanged
protected void fireChanged()Send ChangeEvent event to all listeners. -
encode
Description copied from interface:XMLEncodeDecode
Encode the internal state of this object so that it is rooted in the given Element.- Specified by:
encode
in interfaceXMLEncodeDecode
- Parameters:
rootElement
- the Element within which the object should store its configuration.
-
decode
Description copied from interface:XMLEncodeDecode
Decode (ie, restore) the internal state of this object from an Element.- Specified by:
decode
in interfaceXMLEncodeDecode
- Parameters:
rootElement
- the element to which a previous object this this type has attached its configuration.
-
getChildElements
Return all the Elements that are children of another Element. -
setFromString
Set the value of a object field using string representation of the field name and its value. Users of the default decode implementation must re-implement this method. -
addChildElement
Create a child element with no content and add it to the given element. -
addCDATASection
Create a new CDATA section with the given content and add it as a child of a given element. -
addChildElement
Add an element with String value as a child of another element. The String is stored as CDATA. -
addChildElement
Add an element with boolean value as a child of another element. -
addChildElement
Add an element with integer value as a child of another element. -
addChildElement
Add an element with double value as a child of another element. -
getChildren
Return a List of all children. Use the NodeList interface to step through these. -
getElementName
Get the name of an element. -
getElementValue
Get the "value" of an element (really the content). -
doubleToString
Convert a double to a String. -
doubleFromString
Convert a String back to a double. -
booleanToString
Convert a boolean to a String. -
booleanFromString
Convert a String back to a boolean. -
intToString
Convert an integer to a String. -
intFromString
Convert a String back to an integer. -
longToString
Convert a long to a String. -
longFromString
Convert a String back to a long.
-