org.atmosphere.cpr
Class AtmosphereResponse

java.lang.Object
  extended by org.atmosphere.cpr.AtmosphereResponse
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class AtmosphereResponse
extends Object
implements javax.servlet.http.HttpServletResponse

An Atmosphere's response representation. An AtmosphereResponse can be used to construct 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 tp the client at any moment.
This object can delegates the write operation to AsyncIOWriter. An AsyncProtocol can also be consulted before the bytes/string write process gets delegated to an AsyncIOWriter. If AsyncProtocol.inspectResponse() return true, the AsyncProtocol.handleResponse(AtmosphereResponse, String) will have a chance to manipulate the bytes and return a new representation. That new representation will then be delegated to an AsyncIOWriter.


Nested Class Summary
static class AtmosphereResponse.Builder
           
 
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
AtmosphereResponse(AsyncIOWriter asyncIOWriter, AsyncProtocol asyncProtocol, AtmosphereRequest atmosphereRequest, boolean destroyable)
           
AtmosphereResponse(javax.servlet.http.HttpServletResponse r, AsyncIOWriter asyncIOWriter, AsyncProtocol asyncProtocol, AtmosphereRequest atmosphereRequest, boolean destroyable)
           
 
Method Summary
 void addCookie(javax.servlet.http.Cookie cookie)
          
 void addDateHeader(String name, long date)
          
 void addHeader(String name, String value)
          
 void addIntHeader(String name, int value)
          
 void close()
           
 boolean containsHeader(String name)
          
 void destroy()
           
 String encodeRedirectUrl(String url)
          
 String encodeRedirectURL(String url)
          
 String encodeUrl(String url)
          
 String encodeURL(String url)
          
 boolean equals(Object o)
           
 void flushBuffer()
          
 AsyncIOWriter getAsyncIOWriter()
          Return the underlying AsyncIOWriter
 int getBufferSize()
          
 String getCharacterEncoding()
          
 String getContentType()
          
 String getHeader(String name)
          
 Collection<String> getHeaderNames()
          
 Collection<String> getHeaders(String name)
          
 Locale getLocale()
          
 javax.servlet.ServletOutputStream getOutputStream()
          
 AtmosphereRequest getRequest()
          Return the associated AtmosphereRequest
 int getStatus()
          
 String getStatusMessage()
           
 PrintWriter getWriter()
          
 int hashCode()
           
 Map<String,String> headers()
           
 boolean isCommitted()
          
 boolean isDestroyable()
          Can this object be destroyed.
 void reset()
           
 void resetBuffer()
           
 void sendError(int sc)
          
 void sendError(int sc, String msg)
          
 void sendRedirect(String location)
          
 void setBufferSize(int size)
           
 void setCharacterEncoding(String charSet)
          
 void setContentLength(int len)
          
 void setContentType(String contentType)
          
 void setDateHeader(String name, long date)
          
 void setHeader(String name, String value)
          
 void setIntHeader(String name, int value)
          
 void setLocale(Locale locale)
          
 void setStatus(int status)
          
 void setStatus(int status, String statusMessage)
          
 String toString()
           
static AtmosphereResponse wrap(javax.servlet.http.HttpServletResponse response)
          Wrap an HttpServletResponse
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AtmosphereResponse

public AtmosphereResponse(AsyncIOWriter asyncIOWriter,
                          AsyncProtocol asyncProtocol,
                          AtmosphereRequest atmosphereRequest,
                          boolean destroyable)

AtmosphereResponse

public AtmosphereResponse(javax.servlet.http.HttpServletResponse r,
                          AsyncIOWriter asyncIOWriter,
                          AsyncProtocol asyncProtocol,
                          AtmosphereRequest atmosphereRequest,
                          boolean destroyable)
Method Detail

destroy

public void destroy()

addCookie

public void addCookie(javax.servlet.http.Cookie cookie)

Specified by:
addCookie in interface javax.servlet.http.HttpServletResponse

containsHeader

public boolean containsHeader(String name)

Specified by:
containsHeader in interface javax.servlet.http.HttpServletResponse

encodeURL

public String encodeURL(String url)

Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse

encodeRedirectURL

public String encodeRedirectURL(String url)

Specified by:
encodeRedirectURL in interface javax.servlet.http.HttpServletResponse

encodeUrl

public String encodeUrl(String url)

Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse

encodeRedirectUrl

public String encodeRedirectUrl(String url)

Specified by:
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse

sendError

public void sendError(int sc,
                      String msg)
               throws IOException

Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
IOException

sendError

public void sendError(int sc)
               throws IOException

Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
IOException

sendRedirect

public void sendRedirect(String location)
                  throws IOException

Specified by:
sendRedirect in interface javax.servlet.http.HttpServletResponse
Throws:
IOException

setDateHeader

public void setDateHeader(String name,
                          long date)

Specified by:
setDateHeader in interface javax.servlet.http.HttpServletResponse

addDateHeader

public void addDateHeader(String name,
                          long date)

Specified by:
addDateHeader in interface javax.servlet.http.HttpServletResponse

setHeader

public void setHeader(String name,
                      String value)

Specified by:
setHeader in interface javax.servlet.http.HttpServletResponse

addHeader

public void addHeader(String name,
                      String value)

Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse

setIntHeader

public void setIntHeader(String name,
                         int value)

Specified by:
setIntHeader in interface javax.servlet.http.HttpServletResponse

addIntHeader

public void addIntHeader(String name,
                         int value)

Specified by:
addIntHeader in interface javax.servlet.http.HttpServletResponse

setStatus

public void setStatus(int status)

Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

setStatus

public void setStatus(int status,
                      String statusMessage)

Specified by:
setStatus in interface javax.servlet.http.HttpServletResponse

getStatus

public int getStatus()

Specified by:
getStatus in interface javax.servlet.http.HttpServletResponse

getStatusMessage

public String getStatusMessage()

headers

public Map<String,String> headers()

getHeader

public String getHeader(String name)

Specified by:
getHeader in interface javax.servlet.http.HttpServletResponse

getHeaders

public Collection<String> getHeaders(String name)

Specified by:
getHeaders in interface javax.servlet.http.HttpServletResponse

getHeaderNames

public Collection<String> getHeaderNames()

Specified by:
getHeaderNames in interface javax.servlet.http.HttpServletResponse

setCharacterEncoding

public void setCharacterEncoding(String charSet)

Specified by:
setCharacterEncoding in interface javax.servlet.ServletResponse

flushBuffer

public void flushBuffer()
                 throws IOException

Specified by:
flushBuffer in interface javax.servlet.ServletResponse
Throws:
IOException

getBufferSize

public int getBufferSize()

Specified by:
getBufferSize in interface javax.servlet.ServletResponse

getCharacterEncoding

public String getCharacterEncoding()

Specified by:
getCharacterEncoding in interface javax.servlet.ServletResponse

isDestroyable

public boolean isDestroyable()
Can this object be destroyed. Default is true.


getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws IOException

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Throws:
IOException

getWriter

public PrintWriter getWriter()
                      throws IOException

Specified by:
getWriter in interface javax.servlet.ServletResponse
Throws:
IOException

setContentLength

public void setContentLength(int len)

Specified by:
setContentLength in interface javax.servlet.ServletResponse

setContentType

public void setContentType(String contentType)

Specified by:
setContentType in interface javax.servlet.ServletResponse

getContentType

public String getContentType()

Specified by:
getContentType in interface javax.servlet.ServletResponse

isCommitted

public boolean isCommitted()

Specified by:
isCommitted in interface javax.servlet.ServletResponse

reset

public void reset()
Specified by:
reset in interface javax.servlet.ServletResponse

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface javax.servlet.ServletResponse

setBufferSize

public void setBufferSize(int size)
Specified by:
setBufferSize in interface javax.servlet.ServletResponse

setLocale

public void setLocale(Locale locale)

Specified by:
setLocale in interface javax.servlet.ServletResponse

getLocale

public Locale getLocale()

Specified by:
getLocale in interface javax.servlet.ServletResponse

getAsyncIOWriter

public AsyncIOWriter getAsyncIOWriter()
Return the underlying AsyncIOWriter


getRequest

public AtmosphereRequest getRequest()
Return the associated AtmosphereRequest

Returns:
the associated AtmosphereRequest

close

public void close()
           throws IOException
Throws:
IOException

wrap

public static final AtmosphereResponse wrap(javax.servlet.http.HttpServletResponse response)
Wrap an HttpServletResponse

Parameters:
response - HttpServletResponse
Returns:
an AtmosphereResponse

equals

public boolean equals(Object o)
Overrides:
equals in class Object

hashCode

public int hashCode()
Overrides:
hashCode in class Object

toString

public String toString()
Overrides:
toString in class Object


Copyright © 2012. All Rights Reserved.