Class StoredResponse

  • All Implemented Interfaces:
    StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>, IExtendedResponse, ServletResponseExtended, com.ibm.wsspi.webcontainer.util.IOutputStreamObserver, com.ibm.wsspi.webcontainer.util.IResponseOutput, java.io.Serializable, jakarta.servlet.http.HttpServletResponse, jakarta.servlet.ServletResponse
    Direct Known Subclasses:
    ChainedResponse

    public class StoredResponse
    extends jakarta.servlet.http.HttpServletResponseWrapper
    implements StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>, jakarta.servlet.http.HttpServletResponse, java.io.Serializable, com.ibm.wsspi.webcontainer.util.IResponseOutput, IExtendedResponse, com.ibm.wsspi.webcontainer.util.IOutputStreamObserver
    StoredResponse is a response object that can be instantiated by any servlet and used/passed as a standard HttpResponse. The data that is written to this response will be stored for later use.
    See Also:
    Serialized Form
    • Constructor Detail

      • StoredResponse

        public StoredResponse()
      • StoredResponse

        public StoredResponse​(boolean isInclude)
    • Method Detail

      • writerObtained

        public boolean writerObtained()
        Specified by:
        writerObtained in interface com.ibm.wsspi.webcontainer.util.IResponseOutput
      • outputStreamObtained

        public boolean outputStreamObtained()
        Specified by:
        outputStreamObtained in interface com.ibm.wsspi.webcontainer.util.IResponseOutput
      • addCookie

        public void addCookie​(jakarta.servlet.http.Cookie cookie)
        Specified by:
        addCookie in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        addCookie in class jakarta.servlet.http.HttpServletResponseWrapper
      • getOutputStream

        public jakarta.servlet.ServletOutputStream getOutputStream()
                                                          throws java.lang.IllegalStateException,
                                                                 java.io.IOException
        Specified by:
        getOutputStream in interface jakarta.servlet.ServletResponse
        Overrides:
        getOutputStream in class jakarta.servlet.ServletResponseWrapper
        Throws:
        java.lang.IllegalStateException
        java.io.IOException
      • setContentLength

        public void setContentLength​(int len)
        Specified by:
        setContentLength in interface jakarta.servlet.ServletResponse
        Overrides:
        setContentLength in class jakarta.servlet.ServletResponseWrapper
      • setContentType

        public void setContentType​(java.lang.String type)
        Specified by:
        setContentType in interface jakarta.servlet.ServletResponse
        Overrides:
        setContentType in class jakarta.servlet.ServletResponseWrapper
      • setBufferSize

        public void setBufferSize​(int size)
                           throws java.lang.IllegalStateException
        Specified by:
        setBufferSize in interface jakarta.servlet.ServletResponse
        Overrides:
        setBufferSize in class jakarta.servlet.ServletResponseWrapper
        Throws:
        java.lang.IllegalStateException
      • getBufferSize

        public int getBufferSize()
        Specified by:
        getBufferSize in interface jakarta.servlet.ServletResponse
        Overrides:
        getBufferSize in class jakarta.servlet.ServletResponseWrapper
      • flushBuffer

        public void flushBuffer()
                         throws java.io.IOException
        Specified by:
        flushBuffer in interface jakarta.servlet.ServletResponse
        Overrides:
        flushBuffer in class jakarta.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
      • flushBuffer

        public void flushBuffer​(boolean flushToWire)
                         throws java.io.IOException
        Specified by:
        flushBuffer in interface com.ibm.wsspi.webcontainer.util.IResponseOutput
        Throws:
        java.io.IOException
      • isCommitted

        public boolean isCommitted()
        Specified by:
        isCommitted in interface com.ibm.wsspi.webcontainer.util.IResponseOutput
        Specified by:
        isCommitted in interface jakarta.servlet.ServletResponse
        Overrides:
        isCommitted in class jakarta.servlet.ServletResponseWrapper
      • reset

        public void reset()
                   throws java.lang.IllegalStateException
        Specified by:
        reset in interface com.ibm.wsspi.webcontainer.util.IResponseOutput
        Specified by:
        reset in interface jakarta.servlet.ServletResponse
        Overrides:
        reset in class jakarta.servlet.ServletResponseWrapper
        Throws:
        java.lang.IllegalStateException
      • setLocale

        public void setLocale​(java.util.Locale loc)
        Specified by:
        setLocale in interface jakarta.servlet.ServletResponse
        Overrides:
        setLocale in class jakarta.servlet.ServletResponseWrapper
      • setCharacterEncoding

        public void setCharacterEncoding​(java.lang.String encoding)
        Specified by:
        setCharacterEncoding in interface jakarta.servlet.ServletResponse
        Overrides:
        setCharacterEncoding in class jakarta.servlet.ServletResponseWrapper
      • getLocale

        public java.util.Locale getLocale()
        Specified by:
        getLocale in interface jakarta.servlet.ServletResponse
        Overrides:
        getLocale in class jakarta.servlet.ServletResponseWrapper
      • addDateHeader

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

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

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

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

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

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

        public boolean containsHeader​(java.lang.String name)
        Specified by:
        containsHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        containsHeader in class jakarta.servlet.http.HttpServletResponseWrapper
      • getWriter

        public java.io.PrintWriter getWriter()
                                      throws java.io.IOException,
                                             java.lang.IllegalStateException
        Specified by:
        getWriter in interface jakarta.servlet.ServletResponse
        Overrides:
        getWriter in class jakarta.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
        java.lang.IllegalStateException
      • setStatus

        public void setStatus​(int sc)
        Specified by:
        setStatus in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        setStatus in class jakarta.servlet.http.HttpServletResponseWrapper
      • setStatus

        public void setStatus​(int sc,
                              java.lang.String message)
        Specified by:
        setStatus in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        setStatus in class jakarta.servlet.http.HttpServletResponseWrapper
      • sendError

        public void sendError​(int sc)
                       throws java.io.IOException
        Specified by:
        sendError in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        sendError in class jakarta.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • sendError

        public void sendError​(int sc,
                              java.lang.String message)
                       throws java.io.IOException
        Specified by:
        sendError in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        sendError in class jakarta.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • encodeURL

        public java.lang.String encodeURL​(java.lang.String url)
        Specified by:
        encodeURL in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        encodeURL in class jakarta.servlet.http.HttpServletResponseWrapper
      • encodeUrl

        public java.lang.String encodeUrl​(java.lang.String url)
        Specified by:
        encodeUrl in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        encodeUrl in class jakarta.servlet.http.HttpServletResponseWrapper
      • sendRedirect

        public void sendRedirect​(java.lang.String uri)
                          throws java.io.IOException
        Specified by:
        sendRedirect in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        sendRedirect in class jakarta.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • sendRedirect303

        public void sendRedirect303​(java.lang.String uri)
                             throws java.io.IOException
        Specified by:
        sendRedirect303 in interface IExtendedResponse
        Throws:
        java.io.IOException
      • encodeRedirectURL

        public java.lang.String encodeRedirectURL​(java.lang.String url)
        Specified by:
        encodeRedirectURL in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        encodeRedirectURL in class jakarta.servlet.http.HttpServletResponseWrapper
      • encodeRedirectUrl

        public java.lang.String encodeRedirectUrl​(java.lang.String url)
        Specified by:
        encodeRedirectUrl in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        encodeRedirectUrl in class jakarta.servlet.http.HttpServletResponseWrapper
      • finish

        public void finish()
                    throws java.io.IOException
        Specified by:
        finish in interface IExtendedResponse
        Throws:
        java.io.IOException
      • close

        public void close()
                   throws java.io.IOException
        Throws:
        java.io.IOException
      • getOutputBuffer

        public byte[] getOutputBuffer()
                               throws java.io.IOException
        Throws:
        java.io.IOException
      • getByteBufferList

        public java.util.List<com.ibm.wsspi.bytebuffer.WsByteBuffer> getByteBufferList()
                                                                                throws java.io.IOException
        Throws:
        java.io.IOException
      • getOutputBufferAsString

        public java.lang.String getOutputBufferAsString()
                                                 throws java.io.IOException
        Get the output from the response outputstream as a String. This method should only be used to retrieve content that is known to be text based. Using this method to retrieve binary data will corrupt the response data.
        Throws:
        java.io.IOException
      • getHeaderNames

        public CollectionEnumerationHybrid<java.lang.String> getHeaderNames()
        Retrieve the names of the header fields that have been set on this response.
        Specified by:
        getHeaderNames in interface jakarta.servlet.http.HttpServletResponse
        Specified by:
        getHeaderNames in interface StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>
        Overrides:
        getHeaderNames in class jakarta.servlet.http.HttpServletResponseWrapper
      • getAddedHeaderNames

        public java.util.Enumeration getAddedHeaderNames()
        Retrieve only the headers set in the include
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Retrieve a response header field by name.
        Specified by:
        getHeader in interface jakarta.servlet.http.HttpServletResponse
        Overrides:
        getHeader in class jakarta.servlet.http.HttpServletResponseWrapper
      • getIntHeader

        public int getIntHeader​(java.lang.String name)
        Retrieve a response header as an int.
      • getDateHeader

        public long getDateHeader​(java.lang.String name)
        Retrieve a response header as a date.
      • containsError

        public boolean containsError()
        Returns true if sendError() was called on this response.
      • getError

        public com.ibm.websphere.servlet.error.ServletErrorReport getError()
      • getErrorMessage

        public java.lang.String getErrorMessage()
        Returns the error message as reported by the sendError() method.
      • getErrorStatusCode

        public int getErrorStatusCode()
        Returns the status code as reported by the sendError() method.
      • getStatusMessage

        public java.lang.String getStatusMessage()
        Returns the status message as reported by the setStatus() method.
      • getRedirectURI

        public java.lang.String getRedirectURI()
        Returns the target URI of the redirect as specified by the sendRedirect() method.
      • isRedirected

        public boolean isRedirected()
        Returns true if sendRedirect() was called.
      • getCharacterEncoding

        public java.lang.String getCharacterEncoding()
        Return the character encoding as specified in the charset flag of the content-type.
        Specified by:
        getCharacterEncoding in interface jakarta.servlet.ServletResponse
        Overrides:
        getCharacterEncoding in class jakarta.servlet.ServletResponseWrapper
      • getContentType

        public java.lang.String getContentType()
        Specified by:
        getContentType in interface jakarta.servlet.ServletResponse
        Overrides:
        getContentType in class jakarta.servlet.ServletResponseWrapper
      • getCookies

        public jakarta.servlet.http.Cookie[] getCookies()
        Return the cookies that were set using the addCookie() method.
      • getLastModified

        public long getLastModified()
        Returns the date that the data was last modifed in this response or -1 if unknown. This method returns the date value specified in the last-modified header.
      • isExpired

        public boolean isExpired()
        Return true if the data in this response has expired. This method is useful for caches to determine if the response is up-to-date or if if it should be cleared from the cache. This method returns false by default, subclasses should overload this method to provide their own expiration policies.
      • transferResponse

        public void transferResponse​(jakarta.servlet.http.HttpServletResponse target)
                              throws java.io.IOException
        Copy the contents of this response to another HttpServletResponse. This method is optimized to quickly transfer the contents of this response into another response. This method is useful when this response is cached to generate the same response later.
        Throws:
        java.io.IOException
      • resetBuffer

        public void resetBuffer()
        Clears the content of the underlying buffer in the response without clearing headers or status code.
        Specified by:
        resetBuffer in interface jakarta.servlet.ServletResponse
        Overrides:
        resetBuffer in class jakarta.servlet.ServletResponseWrapper
        Since:
        2.3
      • setInclude

        public void setInclude​(boolean isInclude)
      • setInternalHeaderSettable

        public void setInternalHeaderSettable​(boolean internalHeaderSettable)
      • alertClose

        public void alertClose()
        Specified by:
        alertClose in interface com.ibm.wsspi.webcontainer.util.IOutputStreamObserver
      • alertException

        public void alertException()
        Specified by:
        alertException in interface com.ibm.wsspi.webcontainer.util.IOutputStreamObserver
      • alertFirstFlush

        public void alertFirstFlush()
        Specified by:
        alertFirstFlush in interface com.ibm.wsspi.webcontainer.util.IOutputStreamObserver
      • alertFirstWrite

        public void alertFirstWrite()
        Specified by:
        alertFirstWrite in interface com.ibm.wsspi.webcontainer.util.IOutputStreamObserver