org.codehaus.groovy.grails.web.sitemesh
Class GrailsPageResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by org.codehaus.groovy.grails.web.sitemesh.GrailsPageResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse

public class GrailsPageResponseWrapper
extends HttpServletResponseWrapper

Since:
1.0.4

Created: Nov 14, 2008

Author:
Graeme Rocher

Field Summary
 
Fields inherited from interface javax.servlet.http.HttpServletResponse
SC_ACCEPTED, SC_BAD_GATEWAY, SC_BAD_REQUEST, SC_CONFLICT, SC_CONTINUE, SC_CREATED, SC_EXPECTATION_FAILED, SC_FORBIDDEN, SC_FOUND, SC_GATEWAY_TIMEOUT, SC_GONE, SC_HTTP_VERSION_NOT_SUPPORTED, SC_INTERNAL_SERVER_ERROR, SC_LENGTH_REQUIRED, SC_METHOD_NOT_ALLOWED, SC_MOVED_PERMANENTLY, SC_MOVED_TEMPORARILY, SC_MULTIPLE_CHOICES, SC_NO_CONTENT, SC_NON_AUTHORITATIVE_INFORMATION, SC_NOT_ACCEPTABLE, SC_NOT_FOUND, SC_NOT_IMPLEMENTED, SC_NOT_MODIFIED, SC_OK, SC_PARTIAL_CONTENT, SC_PAYMENT_REQUIRED, SC_PRECONDITION_FAILED, SC_PROXY_AUTHENTICATION_REQUIRED, SC_REQUEST_ENTITY_TOO_LARGE, SC_REQUEST_TIMEOUT, SC_REQUEST_URI_TOO_LONG, SC_REQUESTED_RANGE_NOT_SATISFIABLE, SC_RESET_CONTENT, SC_SEE_OTHER, SC_SERVICE_UNAVAILABLE, SC_SWITCHING_PROTOCOLS, SC_TEMPORARY_REDIRECT, SC_UNAUTHORIZED, SC_UNSUPPORTED_MEDIA_TYPE, SC_USE_PROXY
 
Constructor Summary
GrailsPageResponseWrapper(HttpServletResponse response, com.opensymphony.module.sitemesh.PageParserSelector parserSelector)
           
 
Method Summary
 void activateSiteMesh(String contentType, String encoding)
           
 void addHeader(String name, String value)
          Prevent content-length being set if page is parseable.
 void flushBuffer()
          Prevent buffer from being flushed if this is a page being parsed.
 char[] getContents()
           
 ServletOutputStream getOutputStream()
           
 com.opensymphony.module.sitemesh.Page getPage()
           
 PrintWriter getWriter()
           
 boolean isSitemeshActive()
           
 boolean isUsingStream()
           
 void sendError(int sc)
           
 void sendError(int sc, String msg)
           
 void sendRedirect(String location)
           
 void setContentLength(int contentLength)
          Prevent content-length being set if page is parseable.
 void setContentType(String type)
          Set the content-type of the request and store it so it can be passed to the PageParser.
 void setHeader(String name, String value)
          Prevent content-length being set if page is parseable.
 void setStatus(int sc)
          If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any body
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, setDateHeader, setIntHeader, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface javax.servlet.ServletResponse
getBufferSize, getCharacterEncoding, getContentType, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setLocale
 

Constructor Detail

GrailsPageResponseWrapper

public GrailsPageResponseWrapper(HttpServletResponse response,
                                 com.opensymphony.module.sitemesh.PageParserSelector parserSelector)
Method Detail

sendError

public void sendError(int sc)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int sc,
                      String msg)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

setContentType

public void setContentType(String type)
Set the content-type of the request and store it so it can be passed to the PageParser.

Specified by:
setContentType in interface ServletResponse
Overrides:
setContentType in class ServletResponseWrapper

activateSiteMesh

public void activateSiteMesh(String contentType,
                             String encoding)

setContentLength

public void setContentLength(int contentLength)
Prevent content-length being set if page is parseable.

Specified by:
setContentLength in interface ServletResponse
Overrides:
setContentLength in class ServletResponseWrapper

flushBuffer

public void flushBuffer()
                 throws IOException
Prevent buffer from being flushed if this is a page being parsed.

Specified by:
flushBuffer in interface ServletResponse
Overrides:
flushBuffer in class ServletResponseWrapper
Throws:
IOException

setHeader

public void setHeader(String name,
                      String value)
Prevent content-length being set if page is parseable.

Specified by:
setHeader in interface HttpServletResponse
Overrides:
setHeader in class HttpServletResponseWrapper

addHeader

public void addHeader(String name,
                      String value)
Prevent content-length being set if page is parseable.

Specified by:
addHeader in interface HttpServletResponse
Overrides:
addHeader in class HttpServletResponseWrapper

setStatus

public void setStatus(int sc)
If 'not modified' (304) HTTP status is being sent - then abort parsing, as there shouldn't be any body

Specified by:
setStatus in interface HttpServletResponse
Overrides:
setStatus in class HttpServletResponseWrapper

getOutputStream

public ServletOutputStream getOutputStream()
Specified by:
getOutputStream in interface ServletResponse
Overrides:
getOutputStream in class ServletResponseWrapper

getWriter

public PrintWriter getWriter()
Specified by:
getWriter in interface ServletResponse
Overrides:
getWriter in class ServletResponseWrapper

getPage

public com.opensymphony.module.sitemesh.Page getPage()
                                              throws IOException
Throws:
IOException

sendRedirect

public void sendRedirect(String location)
                  throws IOException
Specified by:
sendRedirect in interface HttpServletResponse
Overrides:
sendRedirect in class HttpServletResponseWrapper
Throws:
IOException

isUsingStream

public boolean isUsingStream()

getContents

public char[] getContents()
                   throws IOException
Throws:
IOException

isSitemeshActive

public boolean isSitemeshActive()


Copyright (c) 2005-2009 The Grails project