You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
28 lines
822 B
28 lines
822 B
11 years ago
|
package de.timroes.axmlrpc.serializer;
|
||
|
|
||
|
import de.timroes.axmlrpc.XMLRPCException;
|
||
|
import de.timroes.axmlrpc.XMLUtil;
|
||
|
import de.timroes.axmlrpc.xmlcreator.XmlElement;
|
||
|
import java.math.BigDecimal;
|
||
|
import org.w3c.dom.Element;
|
||
|
|
||
|
/**
|
||
|
* This serializer is responsible for floating point numbers.
|
||
|
*
|
||
|
* @author Tim Roes
|
||
|
*/
|
||
|
public class DoubleSerializer implements Serializer {
|
||
|
|
||
|
public Object deserialize(Element content) throws XMLRPCException {
|
||
|
return Double.valueOf(XMLUtil.getOnlyTextContent(content.getChildNodes()));
|
||
|
}
|
||
|
|
||
|
public XmlElement serialize(Object object) {
|
||
|
// Turn double value of object into a BigDecimal to get the
|
||
|
// right decimal point format.
|
||
|
BigDecimal bd = BigDecimal.valueOf(((Number)object).doubleValue());
|
||
|
return XMLUtil.makeXmlTag(SerializerHandler.TYPE_DOUBLE, bd.toPlainString());
|
||
|
}
|
||
|
|
||
|
}
|