📄 tcudatapackage.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 + -