/*
* codjo.net
*
* Common Apache License 2.0
*/
package net.codjo.dataprocess.common.codec;
import net.codjo.dataprocess.common.model.ExecutionListModel;
import net.codjo.dataprocess.common.model.ExecutionListModelConverter;
import com.thoughtworks.xstream.XStream;
import com.thoughtworks.xstream.io.xml.DomDriver;
import java.util.List;
/**
*
*/
public class ExecutionListModelCodec {
private static final String HEADER = "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n";
public String encode(ExecutionListModel executionListModel) {
XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
xStream.registerConverter(new ExecutionListModelConverter());
xStream.alias("executionList", ExecutionListModel.class);
return HEADER + xStream.toXML(executionListModel);
}
public String encodeList(List<ExecutionListModel> trtExecutionModelList) {
XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
xStream.registerConverter(new ExecutionListModelConverter());
xStream.alias("root", List.class);
xStream.alias("executionList", ExecutionListModel.class);
return HEADER + xStream.toXML(trtExecutionModelList);
}
public ExecutionListModel decode(String xml) {
XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
xStream.registerConverter(new ExecutionListModelConverter());
xStream.alias("executionList", ExecutionListModel.class);
return (ExecutionListModel)xStream.fromXML(xml);
}
@SuppressWarnings("unchecked")
public List<ExecutionListModel> decodeList(String xml) {
XStream xStream = new XStream(new DomDriver("ISO-8859-1"));
xStream.registerConverter(new ExecutionListModelConverter());
xStream.alias("root", List.class);
xStream.alias("executionList", ExecutionListModel.class);
return (List<ExecutionListModel>)xStream.fromXML(xml);
}
}