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

📄 tcudatapackage.java

📁 为公司做的质量考核接口源码,用spring,hibernate,XML实现,对XML接口编程很有帮助
💻 JAVA
字号:
package com.jr81.source.internet;

import java.io.ByteArrayOutputStream;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.Iterator;
import java.util.List;
import java.util.Map;

import org.jdom.Element;
import org.jdom.output.Format;
import org.jdom.output.XMLOutputter;

import com.jr81.source.stream.TcuBaseClassSTR;



public class TcuDataPackage extends TcuBaseClassSTR {
	
	private TcuHeadPackage HeadPackage=new TcuHeadPackage();
	private byte[] DataPack; 
	private String DataPackXml=null;
	private HashMap DataRecordList=new HashMap();

	public TcuDataPackage() {
		super("DataPackage");
		// TODO 自动生成构造函数存根
	}

	public boolean Clear() {
		// TODO 自动生成方法存根
		HeadPackage.Clear();
		DataPack=null;
		DataPackXml=null;
		return true;
	}
	
	public boolean CreateStrItems() throws Exception {
		// TODO 自动生成方法存根
		StrItems.Clear();
		byte[] out=HeadPackage.SaveToByteArray();
		StrItems.AddItem("HeadPack",out,0);
		if (DataPack==null){
			StrItems.AddItem("DataPack","".getBytes(),0);
		}
		else{
			StrItems.AddItem("DataPack",DataPack,0);
		}
		return true;
	}

	public boolean ParseStrItems() throws Exception {
		// TODO 自动生成方法存根
		HeadPackage.LoadFromByteArray(StrItems.GetItemByteArray("HeadPack"));
		byte[] datapkg=StrItems.GetItemByteArray("DataPack");
		if (datapkg.length>0){
			setDataPack(datapkg);
		}
		return true;
	}	
	/**
	 * @param args
	 * @throws Exception 
	 */
	public static void main(String[] args) {
			
	}

	/**
	 * @return 返回 dataPack。
	 */
	public byte[] getDataPack() {
		return DataPack;
	}
	
	public boolean LoadObject(TcuBaseClassSTR obj){
		System.out.println("DataPackXml"+DataPackXml);
		if (DataPackXml!=null){
			return obj.LoadFromXMLWithoutHead(DataPackXml);
		}else {
			return obj.LoadFromByteArray(DataPack);
		}
	}
	
	public boolean LoadObjectList(HashMap list) throws InstantiationException, IllegalAccessException {
		TcuBaseClassSTR obj=null;
		Iterator it=this.DataRecordList.entrySet().iterator();
		//Iterator it1=list.entrySet().iterator();
		if(list.size()!=this.DataRecordList.size()) {
			return false;
		}
		String dataRecordXml=null;
		String dataList=null;
		while (it.hasNext()) {
			Map.Entry entry=(Map.Entry)it.next();
			String key=(String)entry.getKey();
			if(key.endsWith("List")) {
				List l=(List)this.DataRecordList.get(entry.getKey());
				List l2=(List)list.get(entry.getKey());
				obj=(TcuBaseClassSTR)l2.get(0);
				l2.remove(0);
				Iterator lit=l.iterator();
				while(lit.hasNext()) {
					TcuBaseClassSTR o=(TcuBaseClassSTR)obj.getClass().newInstance();
					dataList=(String)lit.next();
					if (dataList!=null){
						o.LoadFromXMLWithoutHead(dataList);
					}
					l2.add(o);
				}
				
			}else {
			obj=(TcuBaseClassSTR)list.get(entry.getKey());
			dataRecordXml=(String)this.DataRecordList.get(entry.getKey());
			if (dataRecordXml!=null){
				obj.LoadFromXMLWithoutHead(dataRecordXml);
			}
			}
		}
		return true;
	}
	/**
	 * @param dataPack 要设置的 dataPack。
	 * @throws IOException 
	 */
	public void setDataPack(ByteArrayOutputStream dataPack) throws IOException {
		setDataPack(dataPack.toByteArray());
	}
	
	public void setDataPack(byte[] dataPack) throws IOException {
		DataPack=dataPack;
	}

	/**
	 * @return 返回 headPackage。
	 */
	public TcuHeadPackage getHeadPackage() {
		return HeadPackage;
	}

	/**
	 * @param headPackage 要设置的 headPackage。
	 */
	public void setHeadPackage(TcuHeadPackage headPackage) {
		HeadPackage = headPackage;
	}

	/**
	 * @return the dataPackObject
	 */
	public String getDataPackXml() {
		return DataPackXml;
	}

	/**
	 * @param dataPackObject the dataPackObject to set
	 */
	public void setDataPackXml(String dataPackXml) {
		DataPackXml = dataPackXml;
	}
	
	public String GetXMLItems(){
		String xml=HeadPackage.SaveToXML();
		xml+=GetXMLItem("DataPackXml",DataPackXml);
		return xml;
	}
	
	public boolean ParseXMLItems(Element xml){
		HeadPackage.LoadFromXML(xml);

		Element dpx=xml.getChild("DataPackXml");
		if (dpx==null){
			DataPackXml=null;
		}else{
			Element tab=dpx.getChild("TableDataPkg");
			if (tab!=null){
			List ls=tab.getChildren();
			if (ls.size()==0){
				DataPackXml=tab.getTextTrim();
			}else if(ls.size()==1){			
				Element dp=(Element)ls.get(0);
				List dpls=dp.getChildren("DataRecord");
				if(dpls.size()==0) {
					Format format = Format.getPrettyFormat();
					format.setEncoding("GB2312");
					XMLOutputter outputter = new XMLOutputter();
					outputter.setFormat(format);
		
					String s=outputter.outputString(dp);
						DataPackXml=s;			
				}else {
					Iterator dpit=dpls.iterator();
					List dplsstr=new ArrayList();
					String name=dp.getAttributeValue("name");
					while(dpit.hasNext()) {
						Element dptb=(Element)dpit.next();
						
						Format format = Format.getPrettyFormat();
					    format.setEncoding("GB2312");
					    XMLOutputter outputter = new XMLOutputter();
					    outputter.setFormat(format);				
						String s=outputter.outputString(dptb);
						dplsstr.add(s);						
					}
					this.DataRecordList.put(name.toUpperCase()+"List",dplsstr);
				}
			}else {
				Iterator it=ls.iterator();
				while(it.hasNext()) {
					Element table=(Element)it.next();
					List dpls=table.getChildren("DataRecord");
					if(dpls.size()==0) {
						String name=table.getAttributeValue("name");
						Format format = Format.getPrettyFormat();
					    format.setEncoding("GB2312");
					    XMLOutputter outputter = new XMLOutputter();
					    outputter.setFormat(format);
				
						String s=outputter.outputString(table);
						this.DataRecordList.put(name.toUpperCase(), s);			
					}else {
						Iterator dpit=dpls.iterator();
						List dplsstr=new ArrayList();
						String name=table.getAttributeValue("name");
						while(dpit.hasNext()) {
							Element dptb=(Element)dpit.next();							
							Format format = Format.getPrettyFormat();
						    format.setEncoding("GB2312");
						    XMLOutputter outputter = new XMLOutputter();
						    outputter.setFormat(format);				
							String s=outputter.outputString(dptb);
							dplsstr.add(s);						
						}
						this.DataRecordList.put(name.toUpperCase()+"List",dplsstr);
					}

				}
			}
			}
		}

		return true;
	}

}

⌨️ 快捷键说明

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