package levik.util;

import java.util.*;
import java.io.*;
import freemarker.template.*;

public class TemplateUtil {

    public static String processToString(Template template, TemplateModelRoot root) {
	StringWriter writer = new StringWriter();
	template.process(root,new PrintWriter(writer));
	return writer.toString();
    }

    public static SimpleList toSimpleList(Vector v) {
	SimpleList sl = new SimpleList();
	Object o;
	for (Enumeration en = v.elements(); en.hasMoreElements();) {
	    o = en.nextElement();
	    if (o instanceof TemplateModel)
		sl.add((TemplateModel)o);
	    else if (o instanceof String)
		sl.add(new SimpleScalar((String)o));
	    else 
		sl.add(o.toString());
	}
	return sl;
    }
}
