XMLRPCCommon.java (1155B)
1 package org.xmlrpc.android; 2 3 import java.io.IOException; 4 5 import org.xmlpull.v1.XmlSerializer; 6 7 import android.util.Xml; 8 9 class XMLRPCCommon { 10 11 protected XmlSerializer serializer; 12 protected IXMLRPCSerializer iXMLRPCSerializer; 13 14 XMLRPCCommon() { 15 serializer = Xml.newSerializer(); 16 iXMLRPCSerializer = new XMLRPCSerializer(); 17 } 18 19 /** 20 * Sets custom IXMLRPCSerializer serializer (in case when server doesn't support 21 * standard XMLRPC protocol) 22 * 23 * @param serializer custom serializer 24 */ 25 public void setSerializer(IXMLRPCSerializer serializer) { 26 iXMLRPCSerializer = serializer; 27 } 28 29 protected void serializeParams(Object[] params) throws IllegalArgumentException, IllegalStateException, IOException { 30 if (params != null && params.length != 0) 31 { 32 // set method params 33 serializer.startTag(null, Tag.PARAMS); 34 for (int i=0; i<params.length; i++) { 35 serializer.startTag(null, Tag.PARAM).startTag(null, IXMLRPCSerializer.TAG_VALUE); 36 iXMLRPCSerializer.serialize(serializer, params[i]); 37 serializer.endTag(null, IXMLRPCSerializer.TAG_VALUE).endTag(null, Tag.PARAM); 38 } 39 serializer.endTag(null, Tag.PARAMS); 40 } 41 } 42 43 }