Class AtmosphereResponseImpl

  • All Implemented Interfaces:
    javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse, AtmosphereResponse, CompletionAware

    public class AtmosphereResponseImpl
    extends javax.servlet.http.HttpServletResponseWrapper
    implements AtmosphereResponse, CompletionAware
    An Atmosphere's response representation. An AtmosphereResponse can be used to construct a bi-directional asynchronous application. If the underlying transport is a WebSocket or if its associated AtmosphereResource has been suspended, this object can be used to write message back to the client at any moment.
    This object can delegate the write operation to AsyncIOWriter.
    • Constructor Detail

      • AtmosphereResponseImpl

        public AtmosphereResponseImpl​(javax.servlet.http.HttpServletResponse r,
                                      AsyncIOWriter asyncIOWriter,
                                      AtmosphereRequest atmosphereRequest,
                                      boolean destroyable)
    • Method Detail

      • addCookie

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

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

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

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

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

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

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

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

        public void sendRedirect​(java.lang.String location)
                          throws java.io.IOException
        Specified by:
        sendRedirect in interface AtmosphereResponse
        Specified by:
        sendRedirect in interface javax.servlet.http.HttpServletResponse
        Overrides:
        sendRedirect in class javax.servlet.http.HttpServletResponseWrapper
        Throws:
        java.io.IOException
      • setDateHeader

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

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

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

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

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

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

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

        public void setStatus​(int status,
                              java.lang.String statusMessage)
        Specified by:
        setStatus in interface AtmosphereResponse
        Specified by:
        setStatus in interface javax.servlet.http.HttpServletResponse
        Overrides:
        setStatus in class javax.servlet.http.HttpServletResponseWrapper
      • getStatus

        public int getStatus()
        Specified by:
        getStatus in interface AtmosphereResponse
        Specified by:
        getStatus in interface javax.servlet.http.HttpServletResponse
        Overrides:
        getStatus in class javax.servlet.http.HttpServletResponseWrapper
      • getResponse

        public javax.servlet.ServletResponse getResponse()
        Specified by:
        getResponse in interface AtmosphereResponse
        Overrides:
        getResponse in class javax.servlet.ServletResponseWrapper
      • headers

        public java.util.Map<java.lang.String,​java.lang.String> headers()
        Specified by:
        headers in interface AtmosphereResponse
      • getHeader

        public java.lang.String getHeader​(java.lang.String name)
        Specified by:
        getHeader in interface AtmosphereResponse
        Specified by:
        getHeader in interface javax.servlet.http.HttpServletResponse
        Overrides:
        getHeader in class javax.servlet.http.HttpServletResponseWrapper
      • getHeaders

        public java.util.Collection<java.lang.String> getHeaders​(java.lang.String name)
        Specified by:
        getHeaders in interface AtmosphereResponse
        Specified by:
        getHeaders in interface javax.servlet.http.HttpServletResponse
        Overrides:
        getHeaders in class javax.servlet.http.HttpServletResponseWrapper
      • getHeaderNames

        public java.util.Collection<java.lang.String> getHeaderNames()
        Specified by:
        getHeaderNames in interface AtmosphereResponse
        Specified by:
        getHeaderNames in interface javax.servlet.http.HttpServletResponse
        Overrides:
        getHeaderNames in class javax.servlet.http.HttpServletResponseWrapper
      • setCharacterEncoding

        public void setCharacterEncoding​(java.lang.String charSet)
        Specified by:
        setCharacterEncoding in interface AtmosphereResponse
        Specified by:
        setCharacterEncoding in interface javax.servlet.ServletResponse
        Overrides:
        setCharacterEncoding in class javax.servlet.ServletResponseWrapper
      • flushBuffer

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

        public int getBufferSize()
        Specified by:
        getBufferSize in interface AtmosphereResponse
        Specified by:
        getBufferSize in interface javax.servlet.ServletResponse
        Overrides:
        getBufferSize in class javax.servlet.ServletResponseWrapper
      • getCharacterEncoding

        public java.lang.String getCharacterEncoding()
        Specified by:
        getCharacterEncoding in interface AtmosphereResponse
        Specified by:
        getCharacterEncoding in interface javax.servlet.ServletResponse
        Overrides:
        getCharacterEncoding in class javax.servlet.ServletResponseWrapper
      • getOutputStream

        public javax.servlet.ServletOutputStream getOutputStream()
                                                          throws java.io.IOException
        Specified by:
        getOutputStream in interface AtmosphereResponse
        Specified by:
        getOutputStream in interface javax.servlet.ServletResponse
        Overrides:
        getOutputStream in class javax.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
      • getWriter

        public java.io.PrintWriter getWriter()
                                      throws java.io.IOException
        Specified by:
        getWriter in interface AtmosphereResponse
        Specified by:
        getWriter in interface javax.servlet.ServletResponse
        Overrides:
        getWriter in class javax.servlet.ServletResponseWrapper
        Throws:
        java.io.IOException
      • setContentLength

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

        public void setContentType​(java.lang.String contentType)
        Specified by:
        setContentType in interface AtmosphereResponse
        Specified by:
        setContentType in interface javax.servlet.ServletResponse
        Overrides:
        setContentType in class javax.servlet.ServletResponseWrapper
      • getContentType

        public java.lang.String getContentType()
        Specified by:
        getContentType in interface AtmosphereResponse
        Specified by:
        getContentType in interface javax.servlet.ServletResponse
        Overrides:
        getContentType in class javax.servlet.ServletResponseWrapper
      • isCommitted

        public boolean isCommitted()
        Specified by:
        isCommitted in interface AtmosphereResponse
        Specified by:
        isCommitted in interface javax.servlet.ServletResponse
        Overrides:
        isCommitted in class javax.servlet.ServletResponseWrapper
      • reset

        public void reset()
        Specified by:
        reset in interface AtmosphereResponse
        Specified by:
        reset in interface javax.servlet.ServletResponse
        Overrides:
        reset in class javax.servlet.ServletResponseWrapper
      • resetBuffer

        public void resetBuffer()
        Specified by:
        resetBuffer in interface AtmosphereResponse
        Specified by:
        resetBuffer in interface javax.servlet.ServletResponse
        Overrides:
        resetBuffer in class javax.servlet.ServletResponseWrapper
      • setBufferSize

        public void setBufferSize​(int size)
        Specified by:
        setBufferSize in interface AtmosphereResponse
        Specified by:
        setBufferSize in interface javax.servlet.ServletResponse
        Overrides:
        setBufferSize in class javax.servlet.ServletResponseWrapper
      • setLocale

        public void setLocale​(java.util.Locale locale)
        Specified by:
        setLocale in interface AtmosphereResponse
        Specified by:
        setLocale in interface javax.servlet.ServletResponse
        Overrides:
        setLocale in class javax.servlet.ServletResponseWrapper
      • getLocale

        public java.util.Locale getLocale()
        Specified by:
        getLocale in interface AtmosphereResponse
        Specified by:
        getLocale in interface javax.servlet.ServletResponse
        Overrides:
        getLocale in class javax.servlet.ServletResponseWrapper
      • write

        public AtmosphereResponse write​(byte[] data,
                                        int offset,
                                        int length,
                                        boolean writeUsingOriginalResponse)
        Description copied from interface: AtmosphereResponse
        Write the String by either using the PrintWriter or OutputStream. The decision is based on the request attribute ApplicationConfig.PROPERTY_USE_STREAM. If writeUsingOriginalResponse is set to true, execute the write without invoking the defined AsyncIOWriter.
        Specified by:
        write in interface AtmosphereResponse
        Parameters:
        data - the bytes to write
        offset - the first byte position to write
        length - the data length
        writeUsingOriginalResponse - if true, execute the write without invoking the AsyncIOWriter
      • setResponse

        public void setResponse​(javax.servlet.ServletResponse response)
        Specified by:
        setResponse in interface AtmosphereResponse
        Overrides:
        setResponse in class javax.servlet.ServletResponseWrapper
      • newInstance

        public static AtmosphereResponse newInstance()
        Create an instance not associated with any response parent.
      • wrap

        public static AtmosphereResponse wrap​(javax.servlet.http.HttpServletResponse response)
        Wrap an HttpServletResponse
        Parameters:
        response - HttpServletResponse
        Returns:
        an AtmosphereResponse
      • toString

        public java.lang.String toString()
        Specified by:
        toString in interface AtmosphereResponse
        Overrides:
        toString in class java.lang.Object