public interface XMLSerializable extends Serializable
This interface identifies classes supporting XML serialization
(XML serialization is still possible for classes not implementing this
interface through dynamic XMLBinding
though).
Typically, classes implementing this interface have a protected static
XMLFormat
holding their default XML representation.
For example:
public final class Complex implements XMLSerializable { // Use the cartesien form for the default XML representation. protected static final XMLFormat<Complex> XML = new XMLFormat<Complex>(Complex.class) { public Complex newInstance(Class<Complex> cls, InputElement xml) throws XMLStreamException { return Complex.valueOf(xml.getAttribute("real", 0.0), xml.getAttribute("imaginary", 0.0)); } public void write(Complex complex, OutputElement xml) throws XMLStreamException { xml.setAttribute("real", complex.getReal()); xml.setAttribute("imaginary", complex.getImaginary()); } public void read(InputElement xml, Complex complex) { // Immutable, deserialization occurs at creation, ref. newIntance(...) } }; ... }
Copyright © 2005-2013 Javolution. All Rights Reserved.