Package org.bgerp.app.servlet.util

# Class ServletResponseInterceptor

java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
org.bgerp.app.servlet.util.ServletResponseInterceptor

All Implemented Interfaces:
  `javax.servlet.http.HttpServletResponse`, `javax.servlet.ServletResponse`

public class ServletResponseInterceptor extends javax.servlet.http.HttpServletResponseWrapper
Implementation of `ServletResponse` allowing to intercept JSP template output.

- ## 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

  Constructors
  Constructor
  Description
  `ServletResponseInterceptor(javax.servlet.http.HttpServletResponse response, OutputStream result)`

- ## Method Summary

  Modifier and Type
  Method
  Description
  `void`
  `flush()`
  `javax.servlet.ServletOutputStream`
  `getOutputStream()`
  `PrintWriter`
  `getWriter()`
  `static byte[]`
  `jsp(DynActionForm form, String jsp, int approxSize)`
  Renders JSP page.

  ### Methods inherited from class javax.servlet.http.HttpServletResponseWrapper

  `addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus, setTrailerFields`

  ### Methods inherited from class javax.servlet.ServletResponseWrapper

  `flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, 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, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setContentType, setLocale`

- ## Constructor Details

  - ### ServletResponseInterceptor

    public ServletResponseInterceptor(javax.servlet.http.HttpServletResponse response, OutputStream result) throws UnsupportedEncodingException
    Throws:
      `UnsupportedEncodingException`

- ## Method Details

  - ### getOutputStream

    public javax.servlet.ServletOutputStream getOutputStream()
    Specified by:
      `getOutputStream` in interface `javax.servlet.ServletResponse`
    Overrides:
      `getOutputStream` in class `javax.servlet.ServletResponseWrapper`

  - ### getWriter

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

  - ### flush

    public void flush()

  - ### jsp

    public static byte[] jsp(DynActionForm form, String jsp, int approxSize) throws Exception
    Renders JSP page. Clears `Response.getData()` in `DynActionForm.getResponse()`.
    Parameters:
      `form` - form object, contains servlet request and response.
      `jsp` - path to JSP pattern, starting from webapps.
      `approxSize` - expected size of resulting HTML.
    Returns:
      byte with HTML.
    Throws:
      `Exception`