Enhydra 5.1 API

org.enhydra.servlet.filter
Class ResponseFilter

java.lang.Object
  |
  +--org.enhydra.servlet.filter.ResponseFilter
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, org.apache.tomcat.core.ResponseAdapter, javax.servlet.ServletResponse
Direct Known Subclasses:
ResponseRecord, StandardLoggingResponse

public abstract class ResponseFilter
extends java.lang.Object
implements javax.servlet.http.HttpServletResponse, org.apache.tomcat.core.ResponseAdapter

Base class that is the base class for a filter, allowing it to be accessed as a ResponseAdapter.

Author:
Andy John
, Shawn McMurdo

Field Summary
protected  javax.servlet.http.HttpServletResponse myResponse
          The real HttpServletResponse that all calls will be passed on to.
 
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_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
ResponseFilter(javax.servlet.http.HttpServletResponse originalResponse)
          Constructor.
 
Method Summary
 void addCookie(javax.servlet.http.Cookie cookie)
          This call is passed on to the original HttpServletResponse object.
 void addDateHeader(java.lang.String name, long value)
           
 void addHeader(java.lang.String name, java.lang.String value)
           
 void addIntHeader(java.lang.String name, int value)
           
 void addMimeHeaders(org.apache.tomcat.util.MimeHeaders headers)
           
 boolean containsHeader(java.lang.String name)
          This call is passed on to the original HttpServletResponse object.
 void doWrite(byte[] buffer, int pos, int count)
          Write a chunk of bytes.
 java.lang.String encodeRedirectUrl(java.lang.String url)
          This call is passed on to the original HttpServletResponse object.
 java.lang.String encodeRedirectURL(java.lang.String url)
           
 java.lang.String encodeUrl(java.lang.String url)
          This call is passed on to the original HttpServletResponse object.
 java.lang.String encodeURL(java.lang.String url)
           
 void endHeaders()
          Signal that we're done with the headers, and body will follow.
 void endResponse()
          Signal that we're done with a particular request, the server can go on and read more requests or close the socket
 void flushBuffer()
           
 int getBufferSize()
           
 java.lang.String getCharacterEncoding()
          This call is passed on to the original HttpServletResponse object.
 java.util.Locale getLocale()
           
 javax.servlet.ServletOutputStream getOutputStream()
          This call is passed on to the original HttpServletResponse object.
 javax.servlet.ServletOutputStream getServletOutputStream()
           
 java.io.PrintWriter getWriter()
          This call is passed on to the original HttpServletResponse object.
 boolean isCommitted()
           
 void recycle()
           
 void reset()
           
 void sendError(int sc)
          This call is passed on to the original HttpServletResponse object.
 void sendError(int sc, java.lang.String msg)
          This call is passed on to the original HttpServletResponse object.
 void sendRedirect(java.lang.String location)
          This call is passed on to the original HttpServletResponse object.
 void setBufferSize(int size)
           
 void setContentLength(int len)
          This call is passed on to the original HttpServletResponse object.
 void setContentType(java.lang.String type)
          This call is passed on to the original HttpServletResponse object.
 void setDateHeader(java.lang.String name, long date)
          This call is passed on to the original HttpServletResponse object.
 void setHeader(java.lang.String name, java.lang.String value)
          This call is passed on to the original HttpServletResponse object.
 void setIntHeader(java.lang.String name, int value)
          This call is passed on to the original HttpServletResponse object.
 void setLocale(java.util.Locale locale)
           
 void setStatus(int sc)
          This call is passed on to the original HttpServletResponse object.
 void setStatus(int sc, java.lang.String sm)
          This call is passed on to the original HttpServletResponse object.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

myResponse

protected javax.servlet.http.HttpServletResponse myResponse
The real HttpServletResponse that all calls will be passed on to.

Constructor Detail

ResponseFilter

public ResponseFilter(javax.servlet.http.HttpServletResponse originalResponse)
Constructor. You must pass in a HttpServletResponse object. This is the object that the calls will be passed on to.

Parameters:
originalResponse - The real HttpServletResponse to route the calls to.
See Also:
ServletResponse, HttpServletResponse
Method Detail

setContentLength

public void setContentLength(int len)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the ServletResponse documentation.

Specified by:
setContentLength in interface javax.servlet.ServletResponse
See Also:
ServletResponse

setContentType

public void setContentType(java.lang.String type)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the ServletResponse documentation.

Specified by:
setContentType in interface javax.servlet.ServletResponse
See Also:
ServletResponse

getOutputStream

public javax.servlet.ServletOutputStream getOutputStream()
                                                  throws java.io.IOException
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the ServletResponse documentation.

Specified by:
getOutputStream in interface javax.servlet.ServletResponse
Throws:
java.io.IOException - See ServletResponse documentation
See Also:
ServletResponse

containsHeader

public boolean containsHeader(java.lang.String name)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

setStatus

public void setStatus(int sc,
                      java.lang.String sm)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

setStatus

public void setStatus(int sc)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

setHeader

public void setHeader(java.lang.String name,
                      java.lang.String value)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

setIntHeader

public void setIntHeader(java.lang.String name,
                         int value)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

setDateHeader

public void setDateHeader(java.lang.String name,
                          long date)
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

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

sendError

public void sendError(int sc,
                      java.lang.String msg)
               throws java.io.IOException
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException - See HttpServletResponse documentation
See Also:
HttpServletResponse

sendError

public void sendError(int sc)
               throws java.io.IOException
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

Specified by:
sendError in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException - See HttpServletResponse documentation
See Also:
HttpServletResponse

sendRedirect

public void sendRedirect(java.lang.String location)
                  throws java.io.IOException
This call is passed on to the original HttpServletResponse object. For a description of what this call does, see the HttpServletResponse documentation.

Specified by:
sendRedirect in interface javax.servlet.http.HttpServletResponse
Throws:
java.io.IOException - See HttpServletResponse documentation
See Also:
HttpServletResponse

addCookie

public void addCookie(javax.servlet.http.Cookie cookie)
This call is passed on to the original HttpServletResponse object.

Specified by:
addCookie in interface javax.servlet.http.HttpServletResponse
See Also:
HttpServletResponse.addCookie(javax.servlet.http.Cookie)

encodeUrl

public java.lang.String encodeUrl(java.lang.String url)
This call is passed on to the original HttpServletResponse object.

Specified by:
encodeUrl in interface javax.servlet.http.HttpServletResponse
See Also:
HttpServletResponse.encodeUrl(java.lang.String)

encodeRedirectUrl

public java.lang.String encodeRedirectUrl(java.lang.String url)
This call is passed on to the original HttpServletResponse object.

Specified by:
encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse
See Also:
HttpServletResponse.encodeRedirectUrl(java.lang.String)

getWriter

public java.io.PrintWriter getWriter()
                              throws java.io.IOException
This call is passed on to the original HttpServletResponse object.

Specified by:
getWriter in interface javax.servlet.ServletResponse
Throws:
java.io.IOException - On other errors.
See Also:
ServletResponse.getWriter()

getCharacterEncoding

public java.lang.String getCharacterEncoding()
This call is passed on to the original HttpServletResponse object.

Specified by:
getCharacterEncoding in interface javax.servlet.ServletResponse
See Also:
ServletResponse.getCharacterEncoding()

getLocale

public java.util.Locale getLocale()
Specified by:
getLocale in interface javax.servlet.ServletResponse

flushBuffer

public void flushBuffer()
                 throws java.io.IOException
Specified by:
flushBuffer in interface javax.servlet.ServletResponse
java.io.IOException

encodeURL

public java.lang.String encodeURL(java.lang.String url)
Specified by:
encodeURL in interface javax.servlet.http.HttpServletResponse

isCommitted

public boolean isCommitted()
Specified by:
isCommitted in interface javax.servlet.ServletResponse

getBufferSize

public int getBufferSize()
Specified by:
getBufferSize in interface javax.servlet.ServletResponse

reset

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

encodeRedirectURL

public java.lang.String encodeRedirectURL(java.lang.String url)
Specified by:
encodeRedirectURL in interface javax.servlet.http.HttpServletResponse

addIntHeader

public void addIntHeader(java.lang.String name,
                         int value)
Specified by:
addIntHeader in interface javax.servlet.http.HttpServletResponse

addDateHeader

public void addDateHeader(java.lang.String name,
                          long value)
Specified by:
addDateHeader in interface javax.servlet.http.HttpServletResponse

addHeader

public void addHeader(java.lang.String name,
                      java.lang.String value)
Specified by:
addHeader in interface javax.servlet.http.HttpServletResponse

setBufferSize

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

setLocale

public void setLocale(java.util.Locale locale)
Specified by:
setLocale in interface javax.servlet.ServletResponse

addMimeHeaders

public void addMimeHeaders(org.apache.tomcat.util.MimeHeaders headers)
                    throws java.io.IOException
Specified by:
addMimeHeaders in interface org.apache.tomcat.core.ResponseAdapter
java.io.IOException

endResponse

public void endResponse()
                 throws java.io.IOException
Signal that we're done with a particular request, the server can go on and read more requests or close the socket

Specified by:
endResponse in interface org.apache.tomcat.core.ResponseAdapter
java.io.IOException

endHeaders

public void endHeaders()
                throws java.io.IOException
Signal that we're done with the headers, and body will follow. The adapter doesn't have to maintain state, it's done inside the engine

Specified by:
endHeaders in interface org.apache.tomcat.core.ResponseAdapter
java.io.IOException

getServletOutputStream

public javax.servlet.ServletOutputStream getServletOutputStream()
                                                         throws java.io.IOException
Specified by:
getServletOutputStream in interface org.apache.tomcat.core.ResponseAdapter
java.io.IOException

recycle

public void recycle()
Specified by:
recycle in interface org.apache.tomcat.core.ResponseAdapter

doWrite

public void doWrite(byte[] buffer,
                    int pos,
                    int count)
             throws java.io.IOException
Write a chunk of bytes. Should be called only from ServletOutputStream implementations, No need to implement it if your adapter implements ServletOutputStream. Headers and status will be written before this method is executed.

Specified by:
doWrite in interface org.apache.tomcat.core.ResponseAdapter
java.io.IOException

Enhydra 5.1 API