net.sourceforge.stripes.controller
Class DynamicMappingFilter.ErrorTrappingResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by net.sourceforge.stripes.controller.DynamicMappingFilter.ErrorTrappingResponseWrapper
All Implemented Interfaces:
HttpServletResponse, ServletResponse
Enclosing class:
DynamicMappingFilter

public static class DynamicMappingFilter.ErrorTrappingResponseWrapper
extends HttpServletResponseWrapper

An HttpServletResponseWrapper that traps HTTP errors by overriding sendError(int, ..). The error code can be retrieved by calling getErrorCode(). A call to proceed() sends the error to the client.

Since:
Stripes 1.5
Author:
Ben Gunter

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
DynamicMappingFilter.ErrorTrappingResponseWrapper(HttpServletResponse response)
          Wrap the given response.
 
Method Summary
 void clearError()
          Clear error code and error message.
 Integer getErrorCode()
          Get the error code that was passed into sendError(int, ..)
 PrintWriter getWriter()
           
 boolean isInclude()
          True if the currently executing request is an include.
 void proceed()
          Send the error, if any, to the client.
 void sendError(int errorCode)
           
 void sendError(int errorCode, String errorMessage)
           
 void setInclude(boolean include)
          Indicate if the currently executing request is an include.
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, 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
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Constructor Detail

DynamicMappingFilter.ErrorTrappingResponseWrapper

public DynamicMappingFilter.ErrorTrappingResponseWrapper(HttpServletResponse response)
Wrap the given response.

Method Detail

sendError

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

sendError

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

getWriter

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

isInclude

public boolean isInclude()
True if the currently executing request is an include.


setInclude

public void setInclude(boolean include)
Indicate if the currently executing request is an include.


getErrorCode

public Integer getErrorCode()
Get the error code that was passed into sendError(int, ..)


clearError

public void clearError()
Clear error code and error message.


proceed

public void proceed()
             throws IOException
Send the error, if any, to the client. If sendError(int, ..) has not previously been called, then do nothing.

Throws:
IOException


? Copyright 2005-2006, Stripes Development Team.