de.timroes.axmlrpc.serializer.StringSerializer Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of aXMLRPC Show documentation
Show all versions of aXMLRPC Show documentation
Lightweight Java XML-RPC working also on Android.
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("<", "<")
.replaceAll("]]>", "]]>");
}
return XMLUtil.makeXmlTag(SerializerHandler.TYPE_STRING, content);
}
}