1 package de.timroes.axmlrpc.serializer; 2 3 import de.timroes.axmlrpc.XMLRPCException; 4 import de.timroes.axmlrpc.XMLUtil; 5 import de.timroes.axmlrpc.xmlcreator.XmlElement; 6 import java.math.BigDecimal; 7 import org.w3c.dom.Element; 8 9 /** 10 * This serializer is responsible for floating point numbers. 11 * 12 * @author Tim Roes 13 */ 14 public class DoubleSerializer implements Serializer { 15 deserialize(Element content)16 public Object deserialize(Element content) throws XMLRPCException { 17 return Double.valueOf(XMLUtil.getOnlyTextContent(content.getChildNodes())); 18 } 19 serialize(Object object)20 public XmlElement serialize(Object object) { 21 // Turn double value of object into a BigDecimal to get the 22 // right decimal point format. 23 BigDecimal bd = BigDecimal.valueOf(((Number)object).doubleValue()); 24 return XMLUtil.makeXmlTag(SerializerHandler.TYPE_DOUBLE, bd.toPlainString()); 25 } 26 27 } 28