Class StoredResponse
java.lang.Object
javax.servlet.ServletResponseWrapper
javax.servlet.http.HttpServletResponseWrapper
com.ibm.websphere.servlet.response.StoredResponse
- All Implemented Interfaces:
StoredResponseCompat<CollectionEnumerationHybrid<String>>,IExtendedResponse,ServletResponseExtended,com.ibm.wsspi.webcontainer.util.IOutputStreamObserver,com.ibm.wsspi.webcontainer.util.IResponseOutput,Serializable,javax.servlet.http.HttpServletResponse,javax.servlet.ServletResponse
- Direct Known Subclasses:
ChainedResponse
public class StoredResponse
extends javax.servlet.http.HttpServletResponseWrapper
implements StoredResponseCompat<CollectionEnumerationHybrid<String>>, javax.servlet.http.HttpServletResponse, 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:
-
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
ConstructorsConstructorDescriptionStoredResponse(boolean isInclude) StoredResponse(ServletResponseExtended extResponse, boolean isInclude) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddCookie(javax.servlet.http.Cookie cookie) voidaddDateHeader(String name, long date) voidvoidaddIntHeader(String name, int value) voidaddSessionCookie(javax.servlet.http.Cookie cookie) voidvoidvoidvoidvoidbuildResponseData(ServletResponseExtended response) voidbuildWriterData(ServletResponseExtended response) voidclose()voidcloseResponseOutput(boolean b) booleanReturns true if sendError() was called on this response.booleancontainsHeader(String name) voiddestroy()encodeRedirectUrl(String url) encodeRedirectURL(String url) voidfinish()voidfireOutputStreamRetrievedEvent(javax.servlet.ServletOutputStream sos) voidvoidvoidflushBuffer(boolean flushToWire) Retrieve only the headers set in the includeintList<com.ibm.wsspi.bytebuffer.WsByteBuffer>Return the character encoding as specified in the charset flag of the content-type.javax.servlet.http.Cookie[]Return the cookies that were set using the addCookie() method.longgetDateHeader(String name) Retrieve a response header as a date.com.ibm.websphere.servlet.error.ServletErrorReportgetError()Returns the error message as reported by the sendError() method.intReturns the status code as reported by the sendError() method.Retrieve a response header field by name.Retrieve the names of the header fields that have been set on this response.Vector[]intgetIntHeader(String name) Retrieve a response header as an int.longReturns the date that the data was last modifed in this response or -1 if unknown.byte[]Get the output from the response outputstream as a String.javax.servlet.ServletOutputStreamReturns the target URI of the redirect as specified by the sendRedirect() method.intReturns the status code as specifed by the setStatus() method.Returns the status message as reported by the setStatus() method.voidbooleanbooleanReturn true if the data in this response has expired.booleanbooleanReturns true if sendRedirect() was called.booleanvoidvoidremoveCookie(String cookieName) voidreset()voidClears the content of the underlying buffer in the response without clearing headers or status code.voidsendError(int sc) voidvoidsendRedirect(String uri) voidsendRedirect303(String uri) voidsetBufferSize(int size) voidsetCharacterEncoding(String encoding) voidsetContentLength(int len) voidsetContentType(String type) voidsetDateHeader(String name, long value) voidvoidvoidsetInclude(boolean isInclude) voidsetInternalHeader(String name, String value) voidsetInternalHeaderSettable(boolean internalHeaderSettable) voidsetIntHeader(String name, int value) voidvoidsetStatus(int sc) voidvoidstart()voidtransferResponse(javax.servlet.http.HttpServletResponse target) Copy the contents of this response to another HttpServletResponse.booleanMethods inherited from class javax.servlet.http.HttpServletResponseWrapper
getHeaders, getStatusMethods inherited from class javax.servlet.ServletResponseWrapper
getResponse, isWrapperFor, isWrapperFor, setResponseMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface javax.servlet.http.HttpServletResponse
getHeaders, getStatus
-
Constructor Details
-
StoredResponse
public StoredResponse() -
StoredResponse
public StoredResponse(boolean isInclude) -
StoredResponse
-
-
Method Details
-
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
- Specified by:
getIResponsein interfaceIExtendedResponse- Specified by:
getIResponsein interfaceServletResponseExtended
-
getOutputStream
public javax.servlet.ServletOutputStream getOutputStream() throws IllegalStateException, IOException- Specified by:
getOutputStreamin interfacejavax.servlet.ServletResponse- Overrides:
getOutputStreamin classjavax.servlet.ServletResponseWrapper- Throws:
IllegalStateExceptionIOException
-
setContentLength
public void setContentLength(int len) - Specified by:
setContentLengthin interfacejavax.servlet.ServletResponse- Overrides:
setContentLengthin classjavax.servlet.ServletResponseWrapper
-
setContentType
- Specified by:
setContentTypein interfacejavax.servlet.ServletResponse- Overrides:
setContentTypein classjavax.servlet.ServletResponseWrapper
-
setBufferSize
- Specified by:
setBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
setBufferSizein classjavax.servlet.ServletResponseWrapper- Throws:
IllegalStateException
-
getBufferSize
public int getBufferSize()- Specified by:
getBufferSizein interfacejavax.servlet.ServletResponse- Overrides:
getBufferSizein classjavax.servlet.ServletResponseWrapper
-
flushBuffer
- Specified by:
flushBufferin interfacejavax.servlet.ServletResponse- Overrides:
flushBufferin classjavax.servlet.ServletResponseWrapper- Throws:
IOException
-
flushBuffer
- Specified by:
flushBufferin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Throws:
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
- Specified by:
resetin interfacecom.ibm.wsspi.webcontainer.util.IResponseOutput- Specified by:
resetin interfacejavax.servlet.ServletResponse- Overrides:
resetin classjavax.servlet.ServletResponseWrapper- Throws:
IllegalStateException
-
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
- Specified by:
setLocalein interfacejavax.servlet.ServletResponse- Overrides:
setLocalein classjavax.servlet.ServletResponseWrapper
-
setCharacterEncoding
- Specified by:
setCharacterEncodingin interfacejavax.servlet.ServletResponse- Overrides:
setCharacterEncodingin classjavax.servlet.ServletResponseWrapper
-
getLocale
- Specified by:
getLocalein interfacejavax.servlet.ServletResponse- Overrides:
getLocalein classjavax.servlet.ServletResponseWrapper
-
addDateHeader
- Specified by:
addDateHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addDateHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
addHeader
- Specified by:
addHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
addIntHeader
- Specified by:
addIntHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
addIntHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setHeader
- Specified by:
setHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setInternalHeader
- Specified by:
setInternalHeaderin interfaceIExtendedResponse
-
setHeader
- Specified by:
setHeaderin interfaceIExtendedResponse- Specified by:
setHeaderin interfaceServletResponseExtended
-
setIntHeader
- Specified by:
setIntHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setIntHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
setDateHeader
- Specified by:
setDateHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setDateHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
containsHeader
- Specified by:
containsHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
containsHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
getWriter
- Specified by:
getWriterin interfacejavax.servlet.ServletResponse- Overrides:
getWriterin classjavax.servlet.ServletResponseWrapper- Throws:
IOExceptionIllegalStateException
-
setStatus
public void setStatus(int sc) - Specified by:
setStatusin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setStatusin classjavax.servlet.http.HttpServletResponseWrapper
-
setStatus
- Specified by:
setStatusin interfacejavax.servlet.http.HttpServletResponse- Overrides:
setStatusin classjavax.servlet.http.HttpServletResponseWrapper
-
sendError
- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
sendError
- Specified by:
sendErrorin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendErrorin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
encodeURL
- Specified by:
encodeURLin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeURLin classjavax.servlet.http.HttpServletResponseWrapper
-
encodeUrl
- Specified by:
encodeUrlin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeUrlin classjavax.servlet.http.HttpServletResponseWrapper
-
sendRedirect
- Specified by:
sendRedirectin interfacejavax.servlet.http.HttpServletResponse- Overrides:
sendRedirectin classjavax.servlet.http.HttpServletResponseWrapper- Throws:
IOException
-
sendRedirect303
- Specified by:
sendRedirect303in interfaceIExtendedResponse- Throws:
IOException
-
encodeRedirectURL
- Specified by:
encodeRedirectURLin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeRedirectURLin classjavax.servlet.http.HttpServletResponseWrapper
-
encodeRedirectUrl
- Specified by:
encodeRedirectUrlin interfacejavax.servlet.http.HttpServletResponse- Overrides:
encodeRedirectUrlin classjavax.servlet.http.HttpServletResponseWrapper
-
finish
- Specified by:
finishin interfaceIExtendedResponse- Throws:
IOException
-
close
- Throws:
IOException
-
getOutputBuffer
- Throws:
IOException
-
getByteBufferList
- Throws:
IOException
-
getOutputBufferAsString
Get 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:
IOException
-
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<String>>- Overrides:
getHeaderNamesin classjavax.servlet.http.HttpServletResponseWrapper
-
getAddedHeaderNames
Retrieve only the headers set in the include -
getHeader
Retrieve a response header field by name.- Specified by:
getHeaderin interfacejavax.servlet.http.HttpServletResponse- Overrides:
getHeaderin classjavax.servlet.http.HttpServletResponseWrapper
-
getIntHeader
Retrieve a response header as an int. -
getDateHeader
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
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
Returns the status message as reported by the setStatus() method. -
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
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
- 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
Copy 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:
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
- Specified by:
fireWriterRetrievedEventin interfaceIExtendedResponse
-
registerOutputMethodListener
- Specified by:
registerOutputMethodListenerin interfaceIExtendedResponse
-
destroy
public void destroy()- Specified by:
destroyin interfaceIExtendedResponse
-
initForNextResponse
- 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
-
buildWriterData
-
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
- Specified by:
removeCookiein interfaceIExtendedResponse
-
isOutputWritten
public boolean isOutputWritten()- Specified by:
isOutputWrittenin interfaceIExtendedResponse
-