/*
* Copyright 2001-2008 Geert Bevin <gbevin[remove] at uwyn dot com>
* Licensed under the Apache License, Version 2.0 (the "License")
* $Id: HttpResponse.java 3918 2008-04-14 17:35:35Z gbevin $
*/
package com.uwyn.rife.servlet;
import com.uwyn.rife.engine.AbstractResponse;
import com.uwyn.rife.engine.Request;
import com.uwyn.rife.engine.Response;
import com.uwyn.rife.engine.exceptions.EngineException;
import com.uwyn.rife.servlet.HttpResponse;
import java.io.IOException;
import java.io.OutputStream;
import java.io.PrintWriter;
import java.util.Locale;
import javax.servlet.http.Cookie;
import javax.servlet.http.HttpServletResponse;
public class HttpResponse extends AbstractResponse
{
private HttpServletResponse mResponse = null;
public HttpResponse(Request request, HttpServletResponse response, boolean embedded)
{
super(request, embedded);
mResponse = response;
}
protected void _setContentType(String contentType)
{
mResponse.setContentType(contentType);
}
protected String _getCharacterEncoding()
{
return mResponse.getCharacterEncoding();
}
protected void _setContentLength(int length)
{
mResponse.setContentLength(length);
}
protected void _sendRedirect(String location)
{
try
{
mResponse.sendRedirect(location);
}
catch (IOException e)
{
throw new EngineException(e);
}
}
protected OutputStream _getOutputStream() throws IOException
{
return mResponse.getOutputStream();
}
public Response createEmbeddedResponse(String valueId, String differentiator)
{
return new HttpResponse(getRequest(), mResponse, true);
}
public void addCookie(Cookie cookie)
{
mResponse.addCookie(cookie);
}
public void addHeader(String name, String value)
{
mResponse.addHeader(name, value);
}
public void addDateHeader(String name, long date)
{
mResponse.addDateHeader(name, date);
}
public void addIntHeader(String name, int integer)
{
mResponse.addIntHeader(name, integer);
}
public boolean containsHeader(String name)
{
return mResponse.containsHeader(name);
}
public void sendError(int statusCode)
throws EngineException
{
try
{
mResponse.sendError(statusCode);
}
catch (IOException e)
{
throw new EngineException(e);
}
}
public void sendError(int statusCode, String message)
throws EngineException
{
try
{
mResponse.sendError(statusCode, message);
}
catch (IOException e)
{
throw new EngineException(e);
}
}
public void setDateHeader(String name, long date)
{
mResponse.setDateHeader(name, date);
}
public void setHeader(String name, String value)
{
mResponse.setHeader(name, value);
}
public void setIntHeader(String name, int value)
{
mResponse.setIntHeader(name, value);
}
public void setStatus(int statusCode)
{
mResponse.setStatus(statusCode);
}
public String encodeURL(String url)
{
return mResponse.encodeURL(url);
}
public void setLocale(Locale locale)
{
mResponse.setLocale(locale);
}
public Locale getLocale()
{
return mResponse.getLocale();
}
public PrintWriter getWriter()
throws IOException
{
return mResponse.getWriter();
}
public HttpServletResponse getHttpServletResponse()
{
return mResponse;
}
}