Class StoredResponse
- java.lang.Object
-
- javax.servlet.ServletResponseWrapper
-
- javax.servlet.http.HttpServletResponseWrapper
-
- com.ibm.websphere.servlet.response.StoredResponse
-
- All Implemented Interfaces:
StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>,IExtendedResponse,ServletResponseExtended,com.ibm.wsspi.webcontainer.util.IOutputStreamObserver,com.ibm.wsspi.webcontainer.util.IResponseOutput,java.io.Serializable,javax.servlet.http.HttpServletResponse,javax.servlet.ServletResponse
- Direct Known Subclasses:
ChainedResponse
public class StoredResponse extends javax.servlet.http.HttpServletResponseWrapper implements StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>, javax.servlet.http.HttpServletResponse, java.io.Serializable, com.ibm.wsspi.webcontainer.util.IResponseOutput, IExtendedResponse, com.ibm.wsspi.webcontainer.util.IOutputStreamObserver
StoredResponse is a response object that can be instantiated by any servlet and used/passed as a standard HttpResponse. The data that is written to this response will be stored for later use.- See Also:
- Serialized Form
-
-
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
Constructors Constructor Description StoredResponse()StoredResponse(boolean isInclude)StoredResponse(ServletResponseExtended extResponse, boolean isInclude)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidaddCookie(javax.servlet.http.Cookie cookie)voidaddDateHeader(java.lang.String name, long date)voidaddHeader(java.lang.String name, java.lang.String value)voidaddIntHeader(java.lang.String name, int value)voidaddSessionCookie(javax.servlet.http.Cookie cookie)voidalertClose()voidalertException()voidalertFirstFlush()voidalertFirstWrite()voidbuildResponseData(ServletResponseExtended response)voidbuildWriterData(ServletResponseExtended response)voidclose()voidcloseResponseOutput(boolean b)booleancontainsError()Returns true if sendError() was called on this response.booleancontainsHeader(java.lang.String name)voiddestroy()java.lang.StringencodeRedirectUrl(java.lang.String url)java.lang.StringencodeRedirectURL(java.lang.String url)java.lang.StringencodeUrl(java.lang.String url)java.lang.StringencodeURL(java.lang.String url)voidfinish()voidfireOutputStreamRetrievedEvent(javax.servlet.ServletOutputStream sos)voidfireWriterRetrievedEvent(java.io.PrintWriter pw)voidflushBuffer()voidflushBuffer(boolean flushToWire)java.util.EnumerationgetAddedHeaderNames()Retrieve only the headers set in the includeintgetBufferSize()java.util.List<com.ibm.wsspi.bytebuffer.WsByteBuffer>getByteBufferList()java.lang.StringgetCharacterEncoding()Return the character encoding as specified in the charset flag of the content-type.java.lang.StringgetContentType()javax.servlet.http.Cookie[]getCookies()Return the cookies that were set using the addCookie() method.longgetDateHeader(java.lang.String name)Retrieve a response header as a date.com.ibm.websphere.servlet.error.ServletErrorReportgetError()java.lang.StringgetErrorMessage()Returns the error message as reported by the sendError() method.intgetErrorStatusCode()Returns the status code as reported by the sendError() method.java.lang.StringgetHeader(java.lang.String name)Retrieve a response header field by name.CollectionEnumerationHybrid<java.lang.String>getHeaderNames()Retrieve the names of the header fields that have been set on this response.java.util.Vector[]getHeaderTable()intgetIntHeader(java.lang.String name)Retrieve a response header as an int.IResponsegetIResponse()longgetLastModified()Returns the date that the data was last modifed in this response or -1 if unknown.java.util.LocalegetLocale()byte[]getOutputBuffer()java.lang.StringgetOutputBufferAsString()Get the output from the response outputstream as a String.javax.servlet.ServletOutputStreamgetOutputStream()java.lang.StringgetRedirectURI()Returns the target URI of the redirect as specified by the sendRedirect() method.intgetStatusCode()Returns the status code as specifed by the setStatus() method.java.lang.StringgetStatusMessage()Returns the status message as reported by the setStatus() method.java.io.PrintWritergetWriter()voidinitForNextResponse(IResponse res)booleanisCommitted()booleanisExpired()Return true if the data in this response has expired.booleanisOutputWritten()booleanisRedirected()Returns true if sendRedirect() was called.booleanoutputStreamObtained()voidregisterOutputMethodListener(IOutputMethodListener listener)voidremoveCookie(java.lang.String cookieName)voidreset()voidresetBuffer()Clears the content of the underlying buffer in the response without clearing headers or status code.voidsendError(int sc)voidsendError(int sc, java.lang.String message)voidsendRedirect(java.lang.String uri)voidsendRedirect303(java.lang.String uri)voidsetBufferSize(int size)voidsetCharacterEncoding(java.lang.String encoding)voidsetContentLength(int len)voidsetContentType(java.lang.String type)voidsetDateHeader(java.lang.String name, long value)voidsetHeader(java.lang.String name, java.lang.String value)voidsetHeader(java.lang.String name, java.lang.String value, boolean checkInclude)voidsetInclude(boolean isInclude)voidsetInternalHeader(java.lang.String name, java.lang.String value)voidsetInternalHeaderSettable(boolean internalHeaderSettable)voidsetIntHeader(java.lang.String name, int value)voidsetLocale(java.util.Locale loc)voidsetStatus(int sc)voidsetStatus(int sc, java.lang.String message)voidstart()voidtransferResponse(javax.servlet.http.HttpServletResponse target)Copy the contents of this response to another HttpServletResponse.booleanwriterObtained()-
Methods inherited from class javax.servlet.ServletResponseWrapper
getResponse, isWrapperFor, isWrapperFor, setResponse
-
-
-
-
Constructor Detail
-
StoredResponse
public StoredResponse()
-
StoredResponse
public StoredResponse(boolean isInclude)
-
StoredResponse
public StoredResponse(ServletResponseExtended extResponse, boolean isInclude)
-
-
Method Detail
-
writerObtained
public boolean writerObtained()
- Specified by:
writerObtainedin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput
-
outputStreamObtained
public boolean outputStreamObtained()
- Specified by:
outputStreamObtainedin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput
-
addCookie
public void addCookie(javax.servlet.http.Cookie cookie)
- Specified by:
addCookiein interfacejavax.servlet.http.HttpServletResponse- Overrides:
addCookiein classjavax.servlet.http.HttpServletResponseWrapper
-
getIResponse
public IResponse getIResponse()
- Specified by:
getIResponsein interfaceIExtendedResponse- Specified by:
getIResponsein interfaceServletResponseExtended
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws java.lang.IllegalStateException, java.io.IOException- Specified by:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateExceptionjava.io.IOException
-
setContentLength
public void setContentLength(int len)
- Specified by:
setContentLengthin interfacejavax.servlet.ServletResponse- Overrides:
setContentLengthin classjavax.servlet.ServletResponseWrapper
-
setContentType
public void setContentType(java.lang.String type)
- Specified by:
setContentTypein interfacejavax.servlet.ServletResponse- Overrides:
setContentTypein classjavax.servlet.ServletResponseWrapper
-
setBufferSize
public void setBufferSize(int size) throws java.lang.IllegalStateException- Specified by:
setBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
setBufferSizein classjavax.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateException
-
getBufferSize
public int getBufferSize()
- Specified by:
getBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
getBufferSizein classjavax.servlet.ServletResponseWrapper
-
flushBuffer
public void flushBuffer() throws java.io.IOException- Specified by:
flushBufferin interfacejavax.servlet.ServletResponse- Overrides:
flushBufferin classjavax.servlet.ServletResponseWrapper- Throws:
java.io.IOException
-
flushBuffer
public void flushBuffer(boolean flushToWire) throws java.io.IOException- Specified by:
flushBufferin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Throws:
java.io.IOException
-
isCommitted
public boolean isCommitted()
- Specified by:
isCommittedin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Specified by:
isCommittedin interfacejavax.servlet.ServletResponse- Overrides:
isCommittedin classjavax.servlet.ServletResponseWrapper
-
reset
public void reset() throws java.lang.IllegalStateException- Specified by:
resetin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Specified by:
resetin interfacejavax.servlet.ServletResponse- Overrides:
resetin classjavax.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateException
-
getHeaderTable
public java.util.Vector[] getHeaderTable()
- Specified by:
getHeaderTablein interfaceIExtendedResponse- Specified by:
getHeaderTablein interfaceServletResponseExtended
-
addSessionCookie
public void addSessionCookie(javax.servlet.http.Cookie cookie)
- Specified by:
addSessionCookiein interfaceIExtendedResponse- Specified by:
addSessionCookiein interfaceServletResponseExtended
-
setLocale
public void setLocale(java.util.Locale loc)
- Specified by:
setLocalein interfacejavax.servlet.ServletResponse- Overrides:
setLocalein classjavax.servlet.ServletResponseWrapper
-
setCharacterEncoding
public void setCharacterEncoding(java.lang.String encoding)
- Specified by:
setCharacterEncodingin interfacejavax.servlet.ServletResponse- Overrides:
setCharacterEncodingin classjavax.servlet.ServletResponseWrapper
-
getLocale
public java.util.Locale getLocale()
- Specified by:
getLocalein interfacejavax.servlet.ServletResponse- Overrides:
getLocalein classjavax.servlet.ServletResponseWrapper
-
addDateHeader
public void addDateHeader(java.lang.String name, long date)- Specified by:
addDateHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addDateHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)- Specified by:
addHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
addIntHeader
public void addIntHeader(java.lang.String name, int value)- Specified by:
addIntHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addIntHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)- Specified by:
setHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setInternalHeader
public void setInternalHeader(java.lang.String name, java.lang.String value)- Specified by:
setInternalHeaderin interfaceIExtendedResponse
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value, boolean checkInclude)- Specified by:
setHeaderin interfaceIExtendedResponse- Specified by:
setHeaderin interfaceServletResponseExtended
-
setIntHeader
public void setIntHeader(java.lang.String name, int value)- Specified by:
setIntHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setIntHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setDateHeader
public void setDateHeader(java.lang.String name, long value)- Specified by:
setDateHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setDateHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
containsHeader
public boolean containsHeader(java.lang.String name)
- Specified by:
containsHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
containsHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
getWriter
public java.io.PrintWriter getWriter() throws java.io.IOException, java.lang.IllegalStateException- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper- Throws:
java.io.IOExceptionjava.lang.IllegalStateException
-
setStatus
public void setStatus(int sc)
- Specified by:
setStatusin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setStatusin classjavax.servlet.http.HttpServletResponseWrapper
-
setStatus
public void setStatus(int sc, java.lang.String message)- Specified by:
setStatusin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setStatusin classjavax.servlet.http.HttpServletResponseWrapper
-
sendError
public void sendError(int sc) throws java.io.IOException- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
java.io.IOException
-
sendError
public void sendError(int sc, java.lang.String message) throws java.io.IOException- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
java.io.IOException
-
encodeURL
public java.lang.String encodeURL(java.lang.String url)
- Specified by:
encodeURLin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeURLin classjavax.servlet.http.HttpServletResponseWrapper
-
encodeUrl
public java.lang.String encodeUrl(java.lang.String url)
- Specified by:
encodeUrlin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeUrlin classjavax.servlet.http.HttpServletResponseWrapper
-
sendRedirect
public void sendRedirect(java.lang.String uri) throws java.io.IOException- Specified by:
sendRedirectin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendRedirectin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
java.io.IOException
-
sendRedirect303
public void sendRedirect303(java.lang.String uri) throws java.io.IOException- Specified by:
sendRedirect303in interfaceIExtendedResponse- Throws:
java.io.IOException
-
encodeRedirectURL
public java.lang.String encodeRedirectURL(java.lang.String url)
- Specified by:
encodeRedirectURLin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeRedirectURLin classjavax.servlet.http.HttpServletResponseWrapper
-
encodeRedirectUrl
public java.lang.String encodeRedirectUrl(java.lang.String url)
- Specified by:
encodeRedirectUrlin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeRedirectUrlin classjavax.servlet.http.HttpServletResponseWrapper
-
finish
public void finish() throws java.io.IOException- Specified by:
finishin interfaceIExtendedResponse- Throws:
java.io.IOException
-
close
public void close() throws java.io.IOException- Throws:
java.io.IOException
-
getOutputBuffer
public byte[] getOutputBuffer() throws java.io.IOException- Throws:
java.io.IOException
-
getByteBufferList
public java.util.List<com.ibm.wsspi.bytebuffer.WsByteBuffer> getByteBufferList() throws java.io.IOException- Throws:
java.io.IOException
-
getOutputBufferAsString
public java.lang.String getOutputBufferAsString() throws java.io.IOExceptionGet the output from the response outputstream as a String. This method should only be used to retrieve content that is known to be text based. Using this method to retrieve binary data will corrupt the response data.- Throws:
java.io.IOException
-
getHeaderNames
public CollectionEnumerationHybrid<java.lang.String> getHeaderNames()
Retrieve the names of the header fields that have been set on this response.- Specified by:
getHeaderNamesin interfacejavax.servlet.http.HttpServletResponse- Specified by:
getHeaderNamesin interfaceStoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>- Overrides:
getHeaderNamesin classjavax.servlet.http.HttpServletResponseWrapper
-
getAddedHeaderNames
public java.util.Enumeration getAddedHeaderNames()
Retrieve only the headers set in the include
-
getHeader
public java.lang.String getHeader(java.lang.String name)
Retrieve a response header field by name.- Specified by:
getHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
getHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
getIntHeader
public int getIntHeader(java.lang.String name)
Retrieve a response header as an int.
-
getDateHeader
public long getDateHeader(java.lang.String name)
Retrieve a response header as a date.
-
containsError
public boolean containsError()
Returns true if sendError() was called on this response.
-
getError
public com.ibm.websphere.servlet.error.ServletErrorReport getError()
-
getErrorMessage
public java.lang.String getErrorMessage()
Returns the error message as reported by the sendError() method.
-
getErrorStatusCode
public int getErrorStatusCode()
Returns the status code as reported by the sendError() method.
-
getStatusCode
public int getStatusCode()
Returns the status code as specifed by the setStatus() method.- Specified by:
getStatusCodein interfaceIExtendedResponse- Specified by:
getStatusCodein interfaceServletResponseExtended
-
getStatusMessage
public java.lang.String getStatusMessage()
Returns the status message as reported by the setStatus() method.
-
getRedirectURI
public java.lang.String getRedirectURI()
Returns the target URI of the redirect as specified by the sendRedirect() method.
-
isRedirected
public boolean isRedirected()
Returns true if sendRedirect() was called.
-
getCharacterEncoding
public java.lang.String getCharacterEncoding()
Return the character encoding as specified in the charset flag of the content-type.- Specified by:
getCharacterEncodingin interfacejavax.servlet.ServletResponse- Overrides:
getCharacterEncodingin classjavax.servlet.ServletResponseWrapper
-
getContentType
public java.lang.String getContentType()
- Specified by:
getContentTypein interfacejavax.servlet.ServletResponse- Overrides:
getContentTypein classjavax.servlet.ServletResponseWrapper
-
getCookies
public javax.servlet.http.Cookie[] getCookies()
Return the cookies that were set using the addCookie() method.
-
getLastModified
public long getLastModified()
Returns the date that the data was last modifed in this response or -1 if unknown. This method returns the date value specified in the last-modified header.
-
isExpired
public boolean isExpired()
Return true if the data in this response has expired. This method is useful for caches to determine if the response is up-to-date or if if it should be cleared from the cache. This method returns false by default, subclasses should overload this method to provide their own expiration policies.
-
transferResponse
public void transferResponse(javax.servlet.http.HttpServletResponse target) throws java.io.IOExceptionCopy the contents of this response to another HttpServletResponse. This method is optimized to quickly transfer the contents of this response into another response. This method is useful when this response is cached to generate the same response later.- Throws:
java.io.IOException
-
resetBuffer
public void resetBuffer()
Clears the content of the underlying buffer in the response without clearing headers or status code.- Specified by:
resetBufferin interfacejavax.servlet.ServletResponse- Overrides:
resetBufferin classjavax.servlet.ServletResponseWrapper- Since:
- 2.3
-
fireOutputStreamRetrievedEvent
public void fireOutputStreamRetrievedEvent(javax.servlet.ServletOutputStream sos)
- Specified by:
fireOutputStreamRetrievedEventin interfaceIExtendedResponse
-
fireWriterRetrievedEvent
public void fireWriterRetrievedEvent(java.io.PrintWriter pw)
- Specified by:
fireWriterRetrievedEventin interfaceIExtendedResponse
-
registerOutputMethodListener
public void registerOutputMethodListener(IOutputMethodListener listener)
- Specified by:
registerOutputMethodListenerin interfaceIExtendedResponse
-
destroy
public void destroy()
- Specified by:
destroyin interfaceIExtendedResponse
-
initForNextResponse
public void initForNextResponse(IResponse res)
- Specified by:
initForNextResponsein interfaceIExtendedResponse
-
start
public void start()
- Specified by:
startin interfaceIExtendedResponse
-
setInclude
public void setInclude(boolean isInclude)
-
setInternalHeaderSettable
public void setInternalHeaderSettable(boolean internalHeaderSettable)
-
buildResponseData
public void buildResponseData(ServletResponseExtended response)
-
buildWriterData
public void buildWriterData(ServletResponseExtended response)
-
alertClose
public void alertClose()
- Specified by:
alertClosein interfacecom.ibm.wsspi.webcontainer.util.IOutputStreamObserver
-
alertException
public void alertException()
- Specified by:
alertExceptionin interfacecom.ibm.wsspi.webcontainer.util.IOutputStreamObserver
-
alertFirstFlush
public void alertFirstFlush()
- Specified by:
alertFirstFlushin interfacecom.ibm.wsspi.webcontainer.util.IOutputStreamObserver
-
alertFirstWrite
public void alertFirstWrite()
- Specified by:
alertFirstWritein interfacecom.ibm.wsspi.webcontainer.util.IOutputStreamObserver
-
closeResponseOutput
public void closeResponseOutput(boolean b)
- Specified by:
closeResponseOutputin interfaceIExtendedResponse
-
removeCookie
public void removeCookie(java.lang.String cookieName)
- Specified by:
removeCookiein interfaceIExtendedResponse
-
isOutputWritten
public boolean isOutputWritten()
- Specified by:
isOutputWrittenin interfaceIExtendedResponse
-
-