package de.timroes.axmlrpc.serializer; import de.timroes.axmlrpc.XMLRPCException; import de.timroes.axmlrpc.XMLUtil; import de.timroes.axmlrpc.xmlcreator.XmlElement; import org.w3c.dom.Element; /** * * @author Tim Roes */ public class StringSerializer implements Serializer { private boolean decodeStrings; private boolean encodeStrings; public StringSerializer(boolean encodeStrings, boolean decodeStrings) { this.decodeStrings = decodeStrings; this.encodeStrings = encodeStrings; } public Object deserialize(Element content) throws XMLRPCException { String text = XMLUtil.getOnlyTextContent(content.getChildNodes()); if(decodeStrings) { text = text.replaceAll("<", "<").replaceAll("&", "&"); } return text; } public XmlElement serialize(Object object) { String content = object.toString(); if(encodeStrings) { content = content.replaceAll("&", "&").replaceAll("<", "<"); } return XMLUtil.makeXmlTag(SerializerHandler.TYPE_STRING, content); } }