view src/nabble/view/web/template/ServletNamespaceUtils.java @ 0:7ecd1a4ef557

add content
author Franklin Schmidt <fschmidt@gmail.com>
date Thu, 21 Mar 2019 19:15:52 -0600
parents
children
line wrap: on
line source

package nabble.view.web.template;

import nabble.model.User;
import nabble.model.Person;
import nabble.naml.compiler.Interpreter;
import nabble.naml.compiler.CommandSpec;

import javax.servlet.ServletException;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;


public class ServletNamespaceUtils extends NamespaceUtils {

	public static final CommandSpec requiresServletNamespace = new CommandSpec.Builder()
		.requiredInStack(ServletNamespace.class)
		.build()
	;

	private ServletNamespace servletNamespace = null;

	public ServletNamespace servletNamespace(Interpreter interp) {
//		return interp.getFromStack(ServletNamespace.class);
		if( servletNamespace == null )
			servletNamespace = interp.getFromStack(ServletNamespace.class);
		return servletNamespace;
	}

	public HttpServletRequest request(Interpreter interp) {
		return servletNamespace(interp).request;
	}

	public HttpServletResponse response(Interpreter interp) {
		return servletNamespace(interp).response;
	}

	public Person visitor(Interpreter interp)
		throws ServletException
	{
		return servletNamespace(interp).getVisitor();
	}

	public User visitorUser(Interpreter interp)
		throws ServletException
	{
		return servletNamespace(interp).getVisitorUser();
	}
}