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

📄 receiverfile.java

📁 短信开发用于文件交换处理转发的类模块
💻 JAVA
字号:
package com.sms.platform.switchcenter.entity;

import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
import java.util.LinkedList;
import java.util.List;

import org.jdom.Element;

import com.pub.util.ReaderXml;
import com.sms.platform.switchcenter.support.NoSupport;
import com.sms.platform.switchcenter.support.Support;

public class ReceiverFile implements Comparator {

	int priority = 0;

	String filename = "";

	Class objectClass = null;

	LinkedList<Class> dealClass = null;

	public ReceiverFile() throws Exception {

		// filename = "c:/temp/sid.dat";
		// objectClass = Class
		// .forName("com.sms.protocol.standard12.Standard_Inner_Deliver");
		// Class temp = null;
		// dealClass = new LinkedList<Class>();
		// temp = Class
		// .forName("com.sms.platform.switchcenter.support.SendCountSupport");
		// dealClass.add(temp);
		// temp = Class
		// .forName("com.sms.platform.switchcenter.support.DeliverRouterSupport");
		// dealClass.add(temp);

	}

	public Support getSupport() throws Exception {
		Support sp = new NoSupport();
		Support temp = sp;
		for (int i = 0; i < dealClass.size(); i++) {
			if (Support.class.isAssignableFrom(dealClass.get(i))) {
				sp = sp.setNext((Support) dealClass.get(i).newInstance());
			}
		}
		return temp;
	}

	public Support getSupport(Support support) throws Exception {
		Support sp = new NoSupport();
		Support temp = sp;
		for (int i = 0; i < dealClass.size(); i++) {
			if (Support.class.isAssignableFrom(dealClass.get(i))) {
				sp = sp.setNext((Support) dealClass.get(i).newInstance());
			}
		}
		if (support != null) {
			sp.setNext(support);
		}
		return temp;
	}

	public int compare(Object o1, Object o2) {
		ReceiverFile sr1 = (ReceiverFile) o1;
		ReceiverFile sr2 = (ReceiverFile) o2;

		if (sr1.priority > sr2.priority) {
			return -1;
		} else if (sr1.priority == sr2.priority) {
			;
		} else {
			return 1;
		}
		return 0;
	}

	public String getFilename() {
		return filename;
	}

	public void setFilename(String filename) {
		this.filename = filename;
	}

	public Class getObjectClass() {
		return objectClass;
	}

	public void setObjectClass(Class objectClass) {
		this.objectClass = objectClass;
	}

	public int getPriority() {
		return priority;
	}

	public void setPriority(int priority) {
		this.priority = priority;
	}

	public LinkedList<Class> getDealClass() {
		return dealClass;
	}

	public void setDealClass(LinkedList<Class> dealClass) {
		this.dealClass = dealClass;
	}

	public static boolean loadIsPriority(String parameterPath) throws Exception {

		Element element = null;
		List list = ReaderXml.loadListElement(parameterPath, "/ReceiverParameter");
		Iterator it = list.iterator();

		if (it.hasNext()) {
			element = (Element) it.next();
			return ReaderXml.getAttributeBoolean(element, "isPriority", false);
		}
		return false;
	}

	public static LinkedList<ReceiverFile> loadReceiverFile(String parameterPath) throws Exception {
		LinkedList<ReceiverFile> receiver = null;
		Element element = null;
		List list = ReaderXml.loadListElement(parameterPath, "//ReceiverFile");
		Iterator it = list.iterator();
		receiver = new LinkedList<ReceiverFile>();
		ReceiverFile receiverfile = null;

		while (it.hasNext()) {
			receiverfile = new ReceiverFile();
			element = (Element) it.next();
			receiverfile.priority = ReaderXml.getAttributeInteger(element,
					"priority", 0);
			receiverfile.filename = ReaderXml.getAttributeString(element,
					"filename", "");
			receiverfile.objectClass = Class.forName(ReaderXml
					.getAttributeString(element, "objectClass", ""));

			receiverfile.dealClass = new LinkedList<Class>();

			List list2 = element.getChildren("dealClass");
			Iterator it2 = list2.iterator();
			while (it2.hasNext()) {
				Element element2 = (Element) it2.next();
				receiverfile.dealClass.add(Class.forName(element2.getText()));
			}
			receiver.add(receiverfile);
		}
		return receiver;
	}

}

⌨️ 快捷键说明

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