⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 xmlrpcwriter.java

📁 Mofire的JAR压缩包
💻 JAVA
字号:
// Decompiled by Jad v1.5.8e2. Copyright 2001 Pavel Kouznetsov.
// Jad home page: http://kpdus.tripod.com/jad.html
// Decompiler options: packimports(3) fieldsfirst ansi space 
// Source File Name:   XmlRpcWriter.java

package org.kxmlrpc;

import java.io.IOException;
import java.io.Writer;
import java.util.*;
import org.kobjects.base64.Base64;
import org.kobjects.isodate.IsoDate;
import org.kxml.io.AbstractXmlWriter;

public class XmlRpcWriter
{

	AbstractXmlWriter writer;

	public XmlRpcWriter(AbstractXmlWriter writer)
	{
		this.writer = writer;
	}

	public void writeCall(String name, Vector params)
		throws IOException
	{
		writer.startTag("methodCall");
		writer.startTag("methodName");
		writer.write(name);
		writer.endTag();
		if (params != null && params.size() > 0)
		{
			writer.startTag("params");
			for (int i = 0; i < params.size(); i++)
			{
				writer.startTag("param");
				writeValue(params.elementAt(i));
				writer.endTag();
			}

			writer.endTag();
		}
		writer.endTag();
	}

	private void writeValue(Object value)
		throws IOException
	{
		writer.startTag("value");
		if (value instanceof String)
		{
			writer.startTag("string");
			writer.write((String)value);
		} else
		if (value instanceof Integer)
		{
			writer.startTag("i4");
			writer.write(((Integer)value).intValue());
		} else
		if (value instanceof Boolean)
		{
			writer.startTag("boolean");
			writer.write(((Boolean)value).booleanValue() ? "1" : "0");
		} else
		if (value instanceof Date)
		{
			writer.startTag("dateTime.iso8601");
			writer.write(IsoDate.dateToString((Date)value, 3));
		} else
		if (value instanceof Vector)
		{
			writer.startTag("array");
			Vector v = (Vector)value;
			for (int i = 0; i < v.size(); i++)
				writeValue(v.elementAt(i));

		} else
		if (value instanceof Hashtable)
		{
			writer.startTag("struct");
			Hashtable h = (Hashtable)value;
			for (Enumeration e = h.keys(); e.hasMoreElements(); writer.endTag())
			{
				Object key = e.nextElement();
				writer.startTag("member");
				writer.startTag("name");
				writer.write(key.toString());
				writer.endTag();
				writeValue(h.get(key));
			}

		} else
		if (value instanceof byte[])
		{
			writer.startTag("base64");
			writer.write(Base64.encode((byte[])value));
		} else
		{
			throw new IOException("Unknown data type: " + value);
		}
		writer.endTag();
		writer.endTag();
	}
}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -