package levik.weblet.lh;

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

public class JSEncoder implements TemplateMethodModel {

    public boolean isEmpty() {
	return false;
    }

    public TemplateModel exec(List args) throws TemplateModelException {
	if (args.size() == 0) return null;
	String arg = (String)args.get(0);
	if (arg == null) return null;
	char [] ch = arg.toCharArray();
	StringBuffer sb = new StringBuffer();
	for (int i = 0; i < ch.length; i++) {
	    if (ch[i] == '\n')
		sb.append(' ');
	    else if (ch[i] == '\r')
		sb.append("");
	    else if (ch[i] == '\'')
		sb.append("\\'");
	    else 
		sb.append(ch[i]);
	}
	return (new SimpleScalar(sb.toString()));
    }
}

