Class ResponseIncludeWrapper

  • All Implemented Interfaces:
    jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse

    public class ResponseIncludeWrapper
    extends jakarta.servlet.http.HttpServletResponseWrapper
    A HttpServletResponseWrapper, used from SSIServletExternalResolver
    Version:
    $Revision: 1.3 $, $Date: 2007/02/13 19:16:20 $
    Author:
    Bip Thelin, David Becker
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected jakarta.servlet.ServletOutputStream captureServletOutputStream
      Our ServletOutputStream
      protected long lastModified  
      protected PrintWriter printWriter  
      protected jakarta.servlet.ServletOutputStream servletOutputStream  
      • Fields inherited from interface jakarta.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
      ResponseIncludeWrapper​(jakarta.servlet.ServletContext context, jakarta.servlet.http.HttpServletRequest request, jakarta.servlet.http.HttpServletResponse response, jakarta.servlet.ServletOutputStream captureServletOutputStream)
      Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addDateHeader​(String name, long value)  
      void addHeader​(String name, String value)  
      void flushOutputStreamOrWriter()
      Flush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.
      String getContentType()
      Returns the value of the content-type header field.
      long getLastModified()
      Returns the value of the last-modified header field.
      jakarta.servlet.ServletOutputStream getOutputStream()
      Return a OutputStream, throws and exception if a printwriter already been returned.
      PrintWriter getWriter()
      Return a printwriter, throws and exception if a OutputStream already been returned.
      void setContentType​(String mime)
      Sets the value of the content-type header field.
      void setDateHeader​(String name, long value)  
      void setHeader​(String name, String value)  
      void setLastModified​(long lastModified)
      Sets the value of the last-modified header field.
      • Methods inherited from class jakarta.servlet.http.HttpServletResponseWrapper

        addCookie, addIntHeader, containsHeader, encodeRedirectURL, encodeURL, getHeader, getHeaderNames, getHeaders, getStatus, getTrailerFields, sendError, sendError, sendRedirect, setIntHeader, setStatus, setTrailerFields
      • Methods inherited from class jakarta.servlet.ServletResponseWrapper

        flushBuffer, getBufferSize, getCharacterEncoding, getLocale, getResponse, isCommitted, isWrapperFor, isWrapperFor, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setLocale, setResponse
      • Methods inherited from interface jakarta.servlet.ServletResponse

        flushBuffer, getBufferSize, getCharacterEncoding, getLocale, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentLengthLong, setLocale
    • Field Detail

      • lastModified

        protected long lastModified
      • captureServletOutputStream

        protected jakarta.servlet.ServletOutputStream captureServletOutputStream
        Our ServletOutputStream
      • servletOutputStream

        protected jakarta.servlet.ServletOutputStream servletOutputStream
    • Constructor Detail

      • ResponseIncludeWrapper

        public ResponseIncludeWrapper​(jakarta.servlet.ServletContext context,
                                      jakarta.servlet.http.HttpServletRequest request,
                                      jakarta.servlet.http.HttpServletResponse response,
                                      jakarta.servlet.ServletOutputStream captureServletOutputStream)
        Initialize our wrapper with the current HttpServletResponse and ServletOutputStream.
        Parameters:
        context - The servlet context
        request - The HttpServletResponse to use
        response - The response to use
        captureServletOutputStream - The ServletOutputStream to use
    • Method Detail

      • flushOutputStreamOrWriter

        public void flushOutputStreamOrWriter()
                                       throws IOException
        Flush the servletOutputStream or printWriter ( only one will be non-null ) This must be called after a requestDispatcher.include, since we can't assume that the included servlet flushed its stream.
        Throws:
        IOException
      • getWriter

        public PrintWriter getWriter()
                              throws IOException
        Return a printwriter, throws and exception if a OutputStream already been returned.
        Specified by:
        getWriter in interface jakarta.servlet.ServletResponse
        Overrides:
        getWriter in class jakarta.servlet.ServletResponseWrapper
        Returns:
        a PrintWriter object
        Throws:
        IOException - if the outputstream already been called
      • getOutputStream

        public jakarta.servlet.ServletOutputStream getOutputStream()
                                                            throws IOException
        Return a OutputStream, throws and exception if a printwriter already been returned.
        Specified by:
        getOutputStream in interface jakarta.servlet.ServletResponse
        Overrides:
        getOutputStream in class jakarta.servlet.ServletResponseWrapper
        Returns:
        a OutputStream object
        Throws:
        IOException - if the printwriter already been called
      • getLastModified

        public long getLastModified()
        Returns the value of the last-modified header field. The result is the number of milliseconds since January 1, 1970 GMT.
        Returns:
        the date the resource referenced by this ResponseIncludeWrapper was last modified, or -1 if not known.
      • setLastModified

        public void setLastModified​(long lastModified)
        Sets the value of the last-modified header field.
        Parameters:
        lastModified - The number of milliseconds since January 1, 1970 GMT.
      • getContentType

        public String getContentType()
        Returns the value of the content-type header field.
        Specified by:
        getContentType in interface jakarta.servlet.ServletResponse
        Overrides:
        getContentType in class jakarta.servlet.ServletResponseWrapper
        Returns:
        the content type of the resource referenced by this ResponseIncludeWrapper, or null if not known.
      • setContentType

        public void setContentType​(String mime)
        Sets the value of the content-type header field.
        Specified by:
        setContentType in interface jakarta.servlet.ServletResponse
        Overrides:
        setContentType in class jakarta.servlet.ServletResponseWrapper
        Parameters:
        mime - a mime type
      • addDateHeader

        public void addDateHeader​(String name,
                                  long value)
        Specified by:
        addDateHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        addDateHeader in class jakarta.servlet.http.HttpServletResponseWrapper
      • addHeader

        public void addHeader​(String name,
                              String value)
        Specified by:
        addHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        addHeader in class jakarta.servlet.http.HttpServletResponseWrapper
      • setDateHeader

        public void setDateHeader​(String name,
                                  long value)
        Specified by:
        setDateHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        setDateHeader in class jakarta.servlet.http.HttpServletResponseWrapper
      • setHeader

        public void setHeader​(String name,
                              String value)
        Specified by:
        setHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        setHeader in class jakarta.servlet.http.HttpServletResponseWrapper