org.norther.tammi.spray.protocol.chain
Class ProtocolResponse

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by org.norther.tammi.spray.filter.chain.ServletResponseWrapper
          extended by org.norther.tammi.spray.filter.chain.HttpServletResponseWrapper
              extended by org.norther.tammi.spray.protocol.chain.AbstractProtocolResponse
                  extended by org.norther.tammi.spray.protocol.chain.ProtocolResponse
All Implemented Interfaces:
EventListener, HttpServletResponse, ServletResponse, Poolable, Recyclable, FilterChainListener, Flushable
Direct Known Subclasses:
HttpRMIResponse

public class ProtocolResponse
extends AbstractProtocolResponse
implements Flushable

A default implementation of the HTTP protocol response. It implements the javax.servlet.http.HttpServletResponse interface by applying methods provided by the javax.servlet.ServletResponse implementation used as an adaptee.

Version:
$Id: ProtocolResponse.java,v 1.14 2010-03-30 16:01:28 cvsimp Exp $
Author:
Ilkka Priha

Field Summary
 
Fields inherited from class org.norther.tammi.spray.protocol.chain.AbstractProtocolResponse
SERVER_ID, sharedBuffer
 
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
ProtocolResponse()
          Constructs a new response.
ProtocolResponse(ServletResponse res)
          Constructs a new response with a wrapped one.
 
Method Summary
 void addCookie(Cookie cookie)
           
 void addDateHeader(String name, long date)
           
 void addHeader(String name, String value)
           
 void addIntHeader(String name, int value)
           
 boolean containsHeader(String name)
           
 void dispose()
          Disposes the object after use.
 String encodeRedirectUrl(String url)
           
 String encodeRedirectURL(String url)
           
 String encodeUrl(String url)
           
 String encodeURL(String url)
           
 void flushBuffer()
           
 void flushed(OutputStream o)
          A callback for a flush.
 int getBufferSize()
           
protected  Map<String,String[]> getHeaderMap()
          Gets a read-only header map.
 ServletOutputStream getOutputStream()
           
 PrintWriter getWriter()
           
 boolean isCommitted()
           
protected  boolean isWriterInUse()
          Checks whether a writer is already in use.
 void reset()
           
 void resetBuffer()
           
protected  void resetHeaders()
          Resets buffer and headers of this response.
 void sendError(int code)
           
 void sendError(int code, String msg)
           
 void sendRedirect(String location)
           
 void setBufferSize(int size)
           
 void setDateHeader(String name, long date)
           
 void setHeader(String name, String value)
           
 void setIntHeader(String name, int value)
           
 void setStatus(int code)
           
 void setStatus(int code, String sm)
           
 
Methods inherited from class org.norther.tammi.spray.protocol.chain.AbstractProtocolResponse
encodeURL, getCharacterEncoding, getContentLength, getContentType, getHttpFilter, setCharacterEncoding, setContentLength, setContentType, setLocale
 
Methods inherited from class org.norther.tammi.spray.filter.chain.HttpServletResponseWrapper
setResponse
 
Methods inherited from class org.norther.tammi.spray.filter.chain.ServletResponseWrapper
completed, disposed, filtered, getExtension, getFilterChain, isDisposed, recycle, recycle, recycled
 
Methods inherited from class javax.servlet.ServletResponseWrapper
getLocale, getResponse
 
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
getLocale
 

Constructor Detail

ProtocolResponse

public ProtocolResponse()
Constructs a new response.


ProtocolResponse

public ProtocolResponse(ServletResponse res)
Constructs a new response with a wrapped one.

Parameters:
res - the wrapped response.
Method Detail

dispose

public void dispose()
Description copied from interface: Recyclable
Disposes the object after use. The method is called when the object is returned to its pool. The dispose method must call its super.

Specified by:
dispose in interface Recyclable
Overrides:
dispose in class AbstractProtocolResponse

setStatus

public void setStatus(int code)
Specified by:
setStatus in interface HttpServletResponse
Overrides:
setStatus in class AbstractProtocolResponse

addHeader

public void addHeader(String name,
                      String value)
Specified by:
addHeader in interface HttpServletResponse
Overrides:
addHeader in class HttpServletResponseWrapper

addIntHeader

public void addIntHeader(String name,
                         int value)
Specified by:
addIntHeader in interface HttpServletResponse
Overrides:
addIntHeader in class HttpServletResponseWrapper

addDateHeader

public void addDateHeader(String name,
                          long date)
Specified by:
addDateHeader in interface HttpServletResponse
Overrides:
addDateHeader in class HttpServletResponseWrapper

setHeader

public void setHeader(String name,
                      String value)
Specified by:
setHeader in interface HttpServletResponse
Overrides:
setHeader in class HttpServletResponseWrapper

setIntHeader

public void setIntHeader(String name,
                         int value)
Specified by:
setIntHeader in interface HttpServletResponse
Overrides:
setIntHeader in class HttpServletResponseWrapper

setDateHeader

public void setDateHeader(String name,
                          long date)
Specified by:
setDateHeader in interface HttpServletResponse
Overrides:
setDateHeader in class HttpServletResponseWrapper

addCookie

public void addCookie(Cookie cookie)
Specified by:
addCookie in interface HttpServletResponse
Overrides:
addCookie in class HttpServletResponseWrapper

containsHeader

public boolean containsHeader(String name)
Specified by:
containsHeader in interface HttpServletResponse
Overrides:
containsHeader in class HttpServletResponseWrapper

getOutputStream

public ServletOutputStream getOutputStream()
                                    throws IOException
Specified by:
getOutputStream in interface ServletResponse
Overrides:
getOutputStream in class ServletResponseWrapper
Throws:
IOException

getWriter

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

isCommitted

public boolean isCommitted()
Specified by:
isCommitted in interface ServletResponse
Overrides:
isCommitted in class ServletResponseWrapper

reset

public void reset()
Specified by:
reset in interface ServletResponse
Overrides:
reset in class AbstractProtocolResponse

resetBuffer

public void resetBuffer()
Specified by:
resetBuffer in interface ServletResponse
Overrides:
resetBuffer in class ServletResponseWrapper

flushBuffer

public void flushBuffer()
                 throws IOException
Specified by:
flushBuffer in interface ServletResponse
Overrides:
flushBuffer in class ServletResponseWrapper
Throws:
IOException

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface ServletResponse
Overrides:
getBufferSize in class ServletResponseWrapper

setBufferSize

public void setBufferSize(int size)
Specified by:
setBufferSize in interface ServletResponse
Overrides:
setBufferSize in class ServletResponseWrapper

encodeUrl

public String encodeUrl(String url)
Specified by:
encodeUrl in interface HttpServletResponse
Overrides:
encodeUrl in class HttpServletResponseWrapper

encodeURL

public String encodeURL(String url)
Specified by:
encodeURL in interface HttpServletResponse
Overrides:
encodeURL in class HttpServletResponseWrapper

encodeRedirectUrl

public String encodeRedirectUrl(String url)
Specified by:
encodeRedirectUrl in interface HttpServletResponse
Overrides:
encodeRedirectUrl in class HttpServletResponseWrapper

encodeRedirectURL

public String encodeRedirectURL(String url)
Specified by:
encodeRedirectURL in interface HttpServletResponse
Overrides:
encodeRedirectURL in class HttpServletResponseWrapper

sendRedirect

public void sendRedirect(String location)
                  throws IOException
Specified by:
sendRedirect in interface HttpServletResponse
Overrides:
sendRedirect in class HttpServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int code)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

sendError

public void sendError(int code,
                      String msg)
               throws IOException
Specified by:
sendError in interface HttpServletResponse
Overrides:
sendError in class HttpServletResponseWrapper
Throws:
IOException

setStatus

public void setStatus(int code,
                      String sm)
Specified by:
setStatus in interface HttpServletResponse
Overrides:
setStatus in class HttpServletResponseWrapper

flushed

public void flushed(OutputStream o)
Description copied from interface: Flushable
A callback for a flush.

Specified by:
flushed in interface Flushable
Parameters:
o - the flushed stream.

isWriterInUse

protected boolean isWriterInUse()
Description copied from class: AbstractProtocolResponse
Checks whether a writer is already in use.

Specified by:
isWriterInUse in class AbstractProtocolResponse
Returns:
true if a writer is in use.

getHeaderMap

protected Map<String,String[]> getHeaderMap()
Gets a read-only header map.

Returns:
the header map.

resetHeaders

protected void resetHeaders()
Resets buffer and headers of this response.



Copyright © 2004 The Norther Organization. All rights reserved.