package org.caudexorigo.jpt.web; import java.io.IOException; import java.io.InputStream; import java.io.OutputStream; import java.io.Writer; import java.net.InetSocketAddress; import java.net.URI; import java.util.List; import java.util.Map; import org.caudexorigo.jpt.BaseJptContext; public class HttpJptContext extends BaseJptContext { private final HttpJptProcessor _httpProcessor; public HttpJptContext(HttpJptProcessor httpProcessor, URI templateURI) { super(templateURI); _httpProcessor = httpProcessor; } public final void clearResponse() { _httpProcessor.clearResponse(); } public final String getHeader(String headerName) { return _httpProcessor.getHeader(headerName); } public InputStream getInputStream() throws IOException { return _httpProcessor.getInputStream(); } public final Method getMethod() { return _httpProcessor.getMethod(); } public final OutputStream getOutputStream() throws IOException { return _httpProcessor.getOutputStream(); } public List<String> getParameters(String p_name) { return _httpProcessor.getParameters(p_name); } public final String getParameter(String p_name) { return _httpProcessor.getParameter(p_name); } public Map<String, List<String>> getParameters() { return _httpProcessor.getParameters(); } public final String getRequestPath() { return _httpProcessor.getRequestPath(); } public final Object getSessionValue(String attr_name) { return _httpProcessor.getSessionValue(attr_name); } public final Writer getWriter() throws IOException { return _httpProcessor.getWriter(); } public final void include(String uri) { _httpProcessor.include(uri); } public final void setHeader(String headerName, String headerValue) { _httpProcessor.setHeader(headerName, headerValue); } public final void setSessionValue(String attr_name, Object value) { _httpProcessor.setSessionValue(attr_name, value); } public final void setStatus(int statusCode) { _httpProcessor.setStatus(statusCode); } public final int getStatus() { return _httpProcessor.getStatus(); } public InetSocketAddress getClientLocalAddress() { return _httpProcessor.getClientLocalAddress(); } public InetSocketAddress getClientRemoteAddress() { return _httpProcessor.getClientRemoteAddress(); } private static final int FOUND_STATUS_CODE = 302; private static final String LOCATION = "Location"; public void redirect(String url) { setStatus(FOUND_STATUS_CODE); setHeader(LOCATION, url); } }