com.ibm.xdms.xcap
Class XcapServerResponseWrapper

java.lang.Object
  extended by javax.servlet.ServletResponseWrapper
      extended by javax.servlet.http.HttpServletResponseWrapper
          extended by com.ibm.xdms.xcap.XcapServerResponseWrapper
All Implemented Interfaces:
XcapServerResponse, javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse

public class XcapServerResponseWrapper
extends javax.servlet.http.HttpServletResponseWrapper
implements XcapServerResponse

Provides a convenient implementation of the XcapServerResponse interface that can be subclassed by developers wishing to adapt the response to a XcapFilter. This class implements the Wrapper or Decorator pattern. Methods default to calling through to the wrapped response object.

See Also:
XcapServerResponse

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
XcapServerResponseWrapper(XcapServerResponse response)
          Constructs a response adaptor wrapping the given response.
 
Method Summary
 int getContentLength()
          Returns the content length
 long getCurrentETag()
          Default behavior is to return getCurrentETag() on the wrapped response
 javax.servlet.http.HttpServletResponse getHttpServletResponse()
          Returns the underlying HttpServletResponse.
 long getLastModifiedDate()
          Default behavior is to return getLastModifiedDate() on the wrapped response
 long getPreviousETag()
          Default behavior is to return getPreviousETag() on the wrapped response
 int getStatus()
          Default behavior is to return getStatus() on the wrapped response
 java.lang.String getXml()
          Default behavior is to return getXml() on the wrapped response
 void setCurrentETag(long currentETag)
          Default behavior is to call setCurrentETag() on the wrapped response
 void setLastModifiedDate(java.lang.Long lastModified)
          Default behavior is to call setLastModifiedDate() on the wrapped response
 void setPreviousETag(long previousETag)
          Default behavior is to call setPreviousETag() on the wrapped response
 void setXml(java.lang.String xml)
          Default behavior is to call setXml() on the wrapped response
 
Methods inherited from class javax.servlet.http.HttpServletResponseWrapper
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus, setStatus
 
Methods inherited from class javax.servlet.ServletResponseWrapper
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getResponse, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale, setResponse
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface com.ibm.xdms.xcap.XcapServerResponse
setStatus
 
Methods inherited from interface javax.servlet.http.HttpServletResponse
addCookie, addDateHeader, addHeader, addIntHeader, containsHeader, encodeRedirectUrl, encodeRedirectURL, encodeUrl, encodeURL, sendError, sendError, sendRedirect, setDateHeader, setHeader, setIntHeader, setStatus
 
Methods inherited from interface javax.servlet.ServletResponse
flushBuffer, getBufferSize, getCharacterEncoding, getContentType, getLocale, getOutputStream, getWriter, isCommitted, reset, resetBuffer, setBufferSize, setCharacterEncoding, setContentLength, setContentType, setLocale
 

Constructor Detail

XcapServerResponseWrapper

public XcapServerResponseWrapper(XcapServerResponse response)
Constructs a response adaptor wrapping the given response.

Parameters:
response - XcapServerResponse to wrap
Throws:
java.lang.IllegalArgumentException - if the response is null
Method Detail

getCurrentETag

public long getCurrentETag()
Default behavior is to return getCurrentETag() on the wrapped response

Specified by:
getCurrentETag in interface XcapServerResponse
Returns:
Current ETag for the XML response
See Also:
XcapServerResponse.getCurrentETag()

getLastModifiedDate

public long getLastModifiedDate()
Default behavior is to return getLastModifiedDate() on the wrapped response

Specified by:
getLastModifiedDate in interface XcapServerResponse
Returns:
The last modified date for this response
See Also:
XcapServerResponse.getLastModifiedDate()

getPreviousETag

public long getPreviousETag()
Default behavior is to return getPreviousETag() on the wrapped response

Specified by:
getPreviousETag in interface XcapServerResponse
Returns:
Previous ETag for the XML response
See Also:
XcapServerResponse.getPreviousETag()

getStatus

public int getStatus()
Default behavior is to return getStatus() on the wrapped response

Specified by:
getStatus in interface XcapServerResponse
Returns:
The status code for this response
See Also:
XcapServerResponse.getStatus()

getXml

public java.lang.String getXml()
Default behavior is to return getXml() on the wrapped response

Specified by:
getXml in interface XcapServerResponse
Returns:
XML Document as a String
See Also:
XcapServerResponse.getXml()

setCurrentETag

public void setCurrentETag(long currentETag)
Default behavior is to call setCurrentETag() on the wrapped response

Specified by:
setCurrentETag in interface XcapServerResponse
Parameters:
currentETag - The current ETag for the XML response
See Also:
XcapServerResponse.setCurrentETag(long)

setLastModifiedDate

public void setLastModifiedDate(java.lang.Long lastModified)
Default behavior is to call setLastModifiedDate() on the wrapped response

Specified by:
setLastModifiedDate in interface XcapServerResponse
Parameters:
lastModified - Last modified date
See Also:
XcapServerResponse.setLastModifiedDate(java.lang.Long)

setPreviousETag

public void setPreviousETag(long previousETag)
Default behavior is to call setPreviousETag() on the wrapped response

Specified by:
setPreviousETag in interface XcapServerResponse
Parameters:
previousETag - The previous ETag for the XML response
See Also:
XcapServerResponse.setPreviousETag(long)

setXml

public void setXml(java.lang.String xml)
Default behavior is to call setXml() on the wrapped response

Specified by:
setXml in interface XcapServerResponse
Parameters:
xml - The XML response.
See Also:
XcapServerResponse.setXml(java.lang.String)

getContentLength

public int getContentLength()
Returns the content length

Specified by:
getContentLength in interface XcapServerResponse
Returns:
Returns the content length

getHttpServletResponse

public javax.servlet.http.HttpServletResponse getHttpServletResponse()
Returns the underlying HttpServletResponse. Use available methods in this class before calling methods in the underlying HttpServletResponse.

Specified by:
getHttpServletResponse in interface XcapServerResponse
Returns:
Returns the HttpServletResponse