package levik.servlet.util;

import javax.servlet.*;
import javax.servlet.http.*;
import freemarker.template.*;
import java.util.*;

public class CookieHash implements TemplateHashModel {
    protected HttpServletRequest request;
    protected boolean decode;

    public CookieHash(HttpServletRequest request) {
	this(request,false);
    }

    public CookieHash(HttpServletRequest request, boolean decode) {
	this.request=request;
	this.decode=decode;
    }

    public boolean isEmpty() {
	return false;
    }

    public TemplateModel get(String key) {
	String value=ServletUtil.getCookieValue(request,key);
	if (value==null) return null;
	if (decode) {
	    value=java.net.URLDecoder.decode(value);
	}
	return new SimpleScalar(value);
    }
}
