package eu.choreos.vv.data.convertion.xml;
import java.io.PrintWriter;
import java.util.List;
import java.util.Map;
public abstract class XMLConverter<T> {
private PrintWriter writer;
public XMLConverter(PrintWriter writer) {
this.writer = writer;
}
public void convert(T item) {
writer.flush();
}
protected void openTag(String name) {
openTag(name, null);
}
protected void openTag(String name, Map<String, String> parameters) {
writer.print("<"+name);
if (parameters != null) {
for(String param: parameters.keySet()) {
writer.print(" " + param + "=\"" + parameters.get(param) + "\"");
}
}
writer.println(">");
}
protected void closeTag(String name) {
writer.println("</"+name+">");
}
protected void value(String value) {
writer.println(value);
}
protected <E> void writeList(String tag, List<E> list) {
for(E item: list) {
openTag(tag);
value(item.toString());
closeTag(tag);
}
}
public PrintWriter getWriter() {
return writer;
}
public void setWriter(PrintWriter writer) {
this.writer = writer;
}
}