package org.infosec.ismp.model; import java.io.Serializable; import java.io.StringReader; import java.io.StringWriter; import java.util.ArrayList; import java.util.Collection; import java.util.List; import org.apache.commons.lang.builder.ToStringBuilder; import org.exolab.castor.xml.Marshaller; import org.exolab.castor.xml.Unmarshaller; /** * 参数集合 * @author <a href="mailto:lianglin1979@sjtu.edu.cn">lianglin</a> * */ public class Parms implements Serializable { private final List<Parm> paramList = new ArrayList<Parm>(); public Parms() { super(); } public void addParm(Parm param) { paramList.add(param); } public Parm[] getParm() { return paramList.toArray(new Parm[0]); } public Collection<Parm> parmCollection() { return new ArrayList<Parm>(paramList); } @Override public String toString() { return ToStringBuilder.reflectionToString(this); } public static void main(String[] args) throws Exception { Parm param = new Parm(); param.setParmName("ddd"); Value value = new Value(); value.setContent("dddd"); param.setValue(value); Parms params = new Parms(); params.addParm(param); StringWriter writer = new StringWriter(); Marshaller.marshal(params, writer); System.out.println(writer.toString()); String p = writer.toString(); Parms pp = (Parms)Unmarshaller.unmarshal(Parms.class, new StringReader(p)); System.out.println("pp is : "+pp); } }