Interface Response

All Known Subinterfaces:
TestableResponse
All Known Implementing Classes:
ResponseImpl, ResponseWrapper, TestableResponseImpl

public interface Response
API agnostic wrapper for generating a response. Bridges the gaps between the Servlet API and the Portlet API. The Response service is a shadow of the current thread's response object.
  • Method Summary

    Modifier and Type
    Method
    Description
    void
    addHeader(String name, String value)
    Adds a response header with the given name and value, not overwriting any previous values which may have already been added.
    void
    Invoked to indicate that the response content is either already compressed, or is not compressable.
    Encodes the URL for use as a redirect, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).
    Encodes the URL, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).
    getOutputStream(String contentType)
    Returns an OutputStream to which byte-oriented output may be sent.
    getPrintWriter(String contentType)
    Returns a PrintWriter object to which output may be sent.
    boolean
    Returns true if the response has already been sent, either as a redirect or as a stream of content.
    void
    sendError(int sc, String message)
    Sends an error response to the client using the specified status.
    void
    Sends a redirect to the client.
    void
    Sends a redirect to a link.
    void
    setContentLength(int length)
    Sets the length of the content body in the response; this method sets the HTTP Content-Length header.
    void
    setDateHeader(String name, long date)
    Sets a response header with the given name and date-value.
    void
    setHeader(String name, String value)
    Sets a response header with the given name and value.
    void
    setIntHeader(String name, int value)
    Sets a response header with the given name and integer value.
    void
    setStatus(int sc)
    Sets the status code for this response.
  • Method Details

    • getPrintWriter

      Returns a PrintWriter object to which output may be sent. Invoking flush() on the writer will commit the output.
      Parameters:
      contentType - the MIME content type for the output, typically "text/html"
      Throws:
      IOException
    • getOutputStream

      Returns an OutputStream to which byte-oriented output may be sent. Invoking flush() on the stream will commit the output.
      Parameters:
      contentType - the MIME content type for the output, often "application/octet-stream" or "text/plain" or one of several others
      Throws:
      IOException
    • sendRedirect

      void sendRedirect(String URL) throws IOException
      Sends a redirect to the client.
      Parameters:
      URL - full or partial (relative) URL to send to the client
      Throws:
      IOException
      See Also:
    • sendRedirect

      void sendRedirect(Link link) throws IOException
      Sends a redirect to a link.
      Parameters:
      link - link to redirect to.
      Throws:
      IOException
    • setStatus

      void setStatus(int sc)
      Sets the status code for this response. This method is used to set the return status code when there is no error (for example, for the status codes SC_OK or SC_MOVED_TEMPORARILY). If there is an error, and the caller wishes to invoke an error-page defined in the web applicaion, the sendError method should be used instead.
      Parameters:
      sc - the status code
    • sendError

      void sendError(int sc, String message) throws IOException
      Sends an error response to the client using the specified status. The server defaults to creating the response to look like an HTML-formatted server error page containing the specified message, setting the content type to "text/html", leaving cookies and other headers unmodified. If an error-page declaration has been made for the web application corresponding to the status code passed in, it will be served back in preference to the suggested msg parameter. If the response has already been committed, this method throws an IllegalStateException. After using this method, the response should be considered to be committed and should not be written to.
      Parameters:
      sc - the error status code
      message - the descriptive message
      Throws:
      IOException - If an input or output exception occurs
      IllegalStateException - If the response was committed
    • setContentLength

      void setContentLength(int length)
      Sets the length of the content body in the response; this method sets the HTTP Content-Length header.
      Parameters:
      length - the length of the content
    • setDateHeader

      void setDateHeader(String name, long date)
      Sets a response header with the given name and date-value. The date is specified in terms of milliseconds since the epoch. If the header had already been set, the new value overwrites the previous one.
      Parameters:
      name - the name of the header to set
      date - the assigned date value
    • setHeader

      void setHeader(String name, String value)
      Sets a response header with the given name and value. If the header had already been set, the new value overwrites the previous one.
      Parameters:
      name - the name of the header to set
      value - the assigned value
    • addHeader

      @IncompatibleChange(release="5.4", details="Added method") void addHeader(String name, String value)
      Adds a response header with the given name and value, not overwriting any previous values which may have already been added.
      Parameters:
      name - the name of the header to add
      value - the assigned value
      Since:
      5.4
    • setIntHeader

      void setIntHeader(String name, int value)
      Sets a response header with the given name and integer value. If the header had already been set, the new value overwrites the previous one.
      Parameters:
      name - the name of the header to set
      value - the assigned integer value
    • encodeURL

      Encodes the URL, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).
      Parameters:
      URL -
      Returns:
      the same URL or a different one with additional information to track the user session
    • encodeRedirectURL

      Encodes the URL for use as a redirect, ensuring that a session id is included (if a session exists, and as necessary depending on the client browser's use of cookies).
      Parameters:
      URL -
      Returns:
      the same URL or a different one with additional information to track the user session
    • isCommitted

      boolean isCommitted()
      Returns true if the response has already been sent, either as a redirect or as a stream of content.
      Returns:
      true if response already sent
    • disableCompression

      Invoked to indicate that the response content is either already compressed, or is not compressable.
      Since:
      5.2.1