Class StoredResponse
- java.lang.Object
-
- jakarta.servlet.ServletResponseWrapper
-
- jakarta.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,jakarta.servlet.http.HttpServletResponse,jakarta.servlet.ServletResponse
- Direct Known Subclasses:
ChainedResponse
public class StoredResponse extends jakarta.servlet.http.HttpServletResponseWrapper implements StoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>, jakarta.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 jakarta.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(jakarta.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(jakarta.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(jakarta.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()jakarta.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.jakarta.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(jakarta.servlet.http.HttpServletResponse target)Copy the contents of this response to another HttpServletResponse.booleanwriterObtained()-
Methods inherited from class jakarta.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(jakarta.servlet.http.Cookie cookie)
- Specified by:
addCookiein interfacejakarta.servlet.http.HttpServletResponse- Overrides:
addCookiein classjakarta.servlet.http.HttpServletResponseWrapper
-
getIResponse
public IResponse getIResponse()
- Specified by:
getIResponsein interfaceIExtendedResponse- Specified by:
getIResponsein interfaceServletResponseExtended
-
getOutputStream
public jakarta.servlet.ServletOutputStream getOutputStream() throws java.lang.IllegalStateException, java.io.IOException- Specified by:
getOutputStreamin interfacejakarta.servlet.ServletResponse- Overrides:
getOutputStreamin classjakarta.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateExceptionjava.io.IOException
-
setContentLength
public void setContentLength(int len)
- Specified by:
setContentLengthin interfacejakarta.servlet.ServletResponse- Overrides:
setContentLengthin classjakarta.servlet.ServletResponseWrapper
-
setContentType
public void setContentType(java.lang.String type)
- Specified by:
setContentTypein interfacejakarta.servlet.ServletResponse- Overrides:
setContentTypein classjakarta.servlet.ServletResponseWrapper
-
setBufferSize
public void setBufferSize(int size) throws java.lang.IllegalStateException- Specified by:
setBufferSizein interfacejakarta.servlet.ServletResponse- Overrides:
setBufferSizein classjakarta.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateException
-
getBufferSize
public int getBufferSize()
- Specified by:
getBufferSizein interfacejakarta.servlet.ServletResponse- Overrides:
getBufferSizein classjakarta.servlet.ServletResponseWrapper
-
flushBuffer
public void flushBuffer() throws java.io.IOException- Specified by:
flushBufferin interfacejakarta.servlet.ServletResponse- Overrides:
flushBufferin classjakarta.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 interfacejakarta.servlet.ServletResponse- Overrides:
isCommittedin classjakarta.servlet.ServletResponseWrapper
-
reset
public void reset() throws java.lang.IllegalStateException- Specified by:
resetin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Specified by:
resetin interfacejakarta.servlet.ServletResponse- Overrides:
resetin classjakarta.servlet.ServletResponseWrapper- Throws:
java.lang.IllegalStateException
-
getHeaderTable
public java.util.Vector[] getHeaderTable()
- Specified by:
getHeaderTablein interfaceIExtendedResponse- Specified by:
getHeaderTablein interfaceServletResponseExtended
-
addSessionCookie
public void addSessionCookie(jakarta.servlet.http.Cookie cookie)
- Specified by:
addSessionCookiein interfaceIExtendedResponse- Specified by:
addSessionCookiein interfaceServletResponseExtended
-
setLocale
public void setLocale(java.util.Locale loc)
- Specified by:
setLocalein interfacejakarta.servlet.ServletResponse- Overrides:
setLocalein classjakarta.servlet.ServletResponseWrapper
-
setCharacterEncoding
public void setCharacterEncoding(java.lang.String encoding)
- Specified by:
setCharacterEncodingin interfacejakarta.servlet.ServletResponse- Overrides:
setCharacterEncodingin classjakarta.servlet.ServletResponseWrapper
-
getLocale
public java.util.Locale getLocale()
- Specified by:
getLocalein interfacejakarta.servlet.ServletResponse- Overrides:
getLocalein classjakarta.servlet.ServletResponseWrapper
-
addDateHeader
public void addDateHeader(java.lang.String name, long date)- Specified by:
addDateHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
addDateHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
addHeader
public void addHeader(java.lang.String name, java.lang.String value)- Specified by:
addHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
addHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
addIntHeader
public void addIntHeader(java.lang.String name, int value)- Specified by:
addIntHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
addIntHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
setHeader
public void setHeader(java.lang.String name, java.lang.String value)- Specified by:
setHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
setHeaderin classjakarta.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 interfacejakarta.servlet.http.HttpServletResponse- Overrides:
setIntHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
setDateHeader
public void setDateHeader(java.lang.String name, long value)- Specified by:
setDateHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
setDateHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
containsHeader
public boolean containsHeader(java.lang.String name)
- Specified by:
containsHeaderin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
containsHeaderin classjakarta.servlet.http.HttpServletResponseWrapper
-
getWriter
public java.io.PrintWriter getWriter() throws java.io.IOException, java.lang.IllegalStateException- Specified by:
getWriterin interfacejakarta.servlet.ServletResponse- Overrides:
getWriterin classjakarta.servlet.ServletResponseWrapper- Throws:
java.io.IOExceptionjava.lang.IllegalStateException
-
setStatus
public void setStatus(int sc)
- Specified by:
setStatusin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
setStatusin classjakarta.servlet.http.HttpServletResponseWrapper
-
setStatus
public void setStatus(int sc, java.lang.String message)- Specified by:
setStatusin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
setStatusin classjakarta.servlet.http.HttpServletResponseWrapper
-
sendError
public void sendError(int sc) throws java.io.IOException- Specified by:
sendErrorin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjakarta.servlet.http.HttpServletResponseWrapper- Throws:
java.io.IOException
-
sendError
public void sendError(int sc, java.lang.String message) throws java.io.IOException- Specified by:
sendErrorin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjakarta.servlet.http.HttpServletResponseWrapper- Throws:
java.io.IOException
-
encodeURL
public java.lang.String encodeURL(java.lang.String url)
- Specified by:
encodeURLin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
encodeURLin classjakarta.servlet.http.HttpServletResponseWrapper
-
encodeUrl
public java.lang.String encodeUrl(java.lang.String url)
- Specified by:
encodeUrlin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
encodeUrlin classjakarta.servlet.http.HttpServletResponseWrapper
-
sendRedirect
public void sendRedirect(java.lang.String uri) throws java.io.IOException- Specified by:
sendRedirectin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
sendRedirectin classjakarta.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 interfacejakarta.servlet.http.HttpServletResponse- Overrides:
encodeRedirectURLin classjakarta.servlet.http.HttpServletResponseWrapper
-
encodeRedirectUrl
public java.lang.String encodeRedirectUrl(java.lang.String url)
- Specified by:
encodeRedirectUrlin interfacejakarta.servlet.http.HttpServletResponse- Overrides:
encodeRedirectUrlin classjakarta.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 interfacejakarta.servlet.http.HttpServletResponse- Specified by:
getHeaderNamesin interfaceStoredResponseCompat<CollectionEnumerationHybrid<java.lang.String>>- Overrides:
getHeaderNamesin classjakarta.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 interfacejakarta.servlet.http.HttpServletResponse- Overrides:
getHeaderin classjakarta.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 interfacejakarta.servlet.ServletResponse- Overrides:
getCharacterEncodingin classjakarta.servlet.ServletResponseWrapper
-
getContentType
public java.lang.String getContentType()
- Specified by:
getContentTypein interfacejakarta.servlet.ServletResponse- Overrides:
getContentTypein classjakarta.servlet.ServletResponseWrapper
-
getCookies
public jakarta.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(jakarta.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 interfacejakarta.servlet.ServletResponse- Overrides:
resetBufferin classjakarta.servlet.ServletResponseWrapper- Since:
- 2.3
-
fireOutputStreamRetrievedEvent
public void fireOutputStreamRetrievedEvent(jakarta.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
-
-