android-ibc-forum

Unnamed repository; edit this file 'description' to name the repository.
git clone http://git.code.weiherhei.de/android-ibc-forum.git
Log | Files | Refs

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 }