Class StaplerResponseWrapper

java.lang.Object
org.kohsuke.stapler.StaplerResponseWrapper
All Implemented Interfaces:
javax.servlet.http.HttpServletResponse, javax.servlet.ServletResponse, StaplerResponse

public abstract class StaplerResponseWrapper extends Object implements StaplerResponse
A basic wrapper for a StaplerResponse, e.g. in order to override some method. This simply delegates all method calls to the wrapped instance.
Since:
TODO
  • Constructor Details

    • StaplerResponseWrapper

      public StaplerResponseWrapper(StaplerResponse wrapped)
  • Method Details

    • getWrapped

      @NonNull public StaplerResponse getWrapped()
      Returns the wrapped instance
    • getOutputStream

      public javax.servlet.ServletOutputStream getOutputStream() throws IOException
      Specified by:
      getOutputStream in interface javax.servlet.ServletResponse
      Throws:
      IOException
    • getWriter

      public PrintWriter getWriter() throws IOException
      Specified by:
      getWriter in interface javax.servlet.ServletResponse
      Throws:
      IOException
    • forward

      public void forward(Object it, String url, StaplerRequest request) throws javax.servlet.ServletException, IOException
      Evaluates the url against the given object and forwards the request to the result.

      This can be used for example inside an action method to forward a request to a JSP.

      Specified by:
      forward in interface StaplerResponse
      Parameters:
      it - the URL is evaluated against this object. Must not be null.
      url - the relative URL (e.g., "foo" or "foo/bar") to resolve against the "it" object.
      request - Request to be forwarded.
      Throws:
      javax.servlet.ServletException
      IOException
    • forwardToPreviousPage

      public void forwardToPreviousPage(StaplerRequest request) throws javax.servlet.ServletException, IOException
      Redirects the browser to where it came from (the referer.)
      Specified by:
      forwardToPreviousPage in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • sendRedirect

      public void sendRedirect(String url) throws IOException
      Specified by:
      sendRedirect in interface javax.servlet.http.HttpServletResponse
      Throws:
      IOException
    • sendRedirect2

      public void sendRedirect2(String url) throws IOException
      Works like HttpServletResponse.sendRedirect(String) except that this method escapes the URL.
      Specified by:
      sendRedirect2 in interface StaplerResponse
      Throws:
      IOException
    • sendRedirect

      public void sendRedirect(int statusCode, String url) throws IOException
      Works like StaplerResponse.sendRedirect2(String) but allows the caller to specify the HTTP status code.
      Specified by:
      sendRedirect in interface StaplerResponse
      Throws:
      IOException
    • serveFile

      public void serveFile(StaplerRequest req, URL resource, long expiration) throws javax.servlet.ServletException, IOException
      Specified by:
      serveFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveFile

      public void serveFile(StaplerRequest req, URL resource) throws javax.servlet.ServletException, IOException
      Serves a static resource.

      This method sets content type, HTTP status code, sends the complete data and closes the response. This method also handles cache-control HTTP headers like "If-Modified-Since" and others.

      Specified by:
      serveFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveLocalizedFile

      public void serveLocalizedFile(StaplerRequest request, URL res) throws javax.servlet.ServletException, IOException
      Works like StaplerResponse.serveFile(StaplerRequest, URL) but chooses the locale specific version of the resource if it's available. The convention of "locale specific version" is the same as that of property files. So Japanese resource for foo.html would be named foo_ja.html.
      Specified by:
      serveLocalizedFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveLocalizedFile

      public void serveLocalizedFile(StaplerRequest request, URL res, long expiration) throws javax.servlet.ServletException, IOException
      Works like StaplerResponse.serveFile(StaplerRequest, URL, long) but chooses the locale specific version of the resource if it's available. See StaplerResponse.serveLocalizedFile(StaplerRequest, URL) for more details.
      Specified by:
      serveLocalizedFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveFile

      public void serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, long contentLength, String fileName) throws javax.servlet.ServletException, IOException
      Serves a static resource.

      This method works like StaplerResponse.serveFile(StaplerRequest, URL) but this version allows the caller to fetch data from anywhere.

      Specified by:
      serveFile in interface StaplerResponse
      data - InputStream that contains the data of the static resource.
      lastModified - The timestamp when the resource was last modified. See URLConnection.getLastModified() for the meaning of the value. 0 if unknown, in which case "If-Modified-Since" handling will not be performed.
      expiration - The number of milliseconds until the resource will "expire". Until it expires the browser will be allowed to cache it and serve it without checking back with the server. After it expires, the client will send conditional GET to check if the resource is actually modified or not. If 0, it will immediately expire.
      contentLength - if the length of the input stream is known in advance, specify that value so that HTTP keep-alive works. Otherwise specify -1 to indicate that the length is unknown.
      fileName - file name of this resource. Used to determine the MIME type. Since the only important portion is the file extension, this could be just a file name, or a full path name, or even a pseudo file name that doesn't actually exist. It supports both '/' and '\\' as the path separator. If this string starts with "mime-type:", like "mime-type:foo/bar", then "foo/bar" will be used as a MIME type without consulting the servlet container.
      Throws:
      javax.servlet.ServletException
      IOException
    • serveFile

      public void serveFile(StaplerRequest req, InputStream data, long lastModified, long expiration, int contentLength, String fileName) throws javax.servlet.ServletException, IOException
      Specified by:
      serveFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveFile

      public void serveFile(StaplerRequest req, InputStream data, long lastModified, long contentLength, String fileName) throws javax.servlet.ServletException, IOException
      Serves a static resource. Expiration date is set to the value that forces browser to do conditional GET for all resources.
      Specified by:
      serveFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
      See Also:
    • serveFile

      public void serveFile(StaplerRequest req, InputStream data, long lastModified, int contentLength, String fileName) throws javax.servlet.ServletException, IOException
      Specified by:
      serveFile in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveExposedBean

      @Deprecated public void serveExposedBean(StaplerRequest req, Object exposedBean, Flavor flavor) throws javax.servlet.ServletException, IOException
      Description copied from interface: StaplerResponse
      Serves the exposed bean in the specified flavor.

      This method performs the complete output from the header to the response body. If the flavor is JSON, this method also supports JSONP via the jsonp query parameter.

      The depth parameter may be used to specify a recursion depth as in Model.writeTo(Object,int,DataWriter).

      As of 1.146, the tree parameter may be used to control the output in detail; see NamedPathPruner(String) for details.

      Specified by:
      serveExposedBean in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • serveExposedBean

      public void serveExposedBean(StaplerRequest req, Object exposedBean, ExportConfig exportConfig) throws javax.servlet.ServletException, IOException
      Serves the exposed bean in the specified flavor.

      This method performs the complete output from the header to the response body. If the flavor is JSON, this method also supports JSONP via the jsonp query parameter.

      The depth parameter may be used to specify a recursion depth as in Model.writeTo(Object,int,DataWriter)

      As of 1.146, the tree parameter may be used to control the output in detail; see NamedPathPruner(String) for details.

      ExportConfig is passed by the caller to control serialization behavior

      Specified by:
      serveExposedBean in interface StaplerResponse
      Throws:
      javax.servlet.ServletException
      IOException
    • getCompressedOutputStream

      public OutputStream getCompressedOutputStream(javax.servlet.http.HttpServletRequest req) throws IOException
      Specified by:
      getCompressedOutputStream in interface StaplerResponse
      Throws:
      IOException
    • getCompressedWriter

      public Writer getCompressedWriter(javax.servlet.http.HttpServletRequest req) throws IOException
      Specified by:
      getCompressedWriter in interface StaplerResponse
      Throws:
      IOException
    • reverseProxyTo

      public int reverseProxyTo(URL url, StaplerRequest req) throws IOException
      Performs the reverse proxy to the given URL.
      Specified by:
      reverseProxyTo in interface StaplerResponse
      Returns:
      The status code of the response.
      Throws:
      IOException
    • setJsonConfig

      public void setJsonConfig(net.sf.json.JsonConfig config)
      The JsonConfig to be used when serializing java beans from js bound methods to JSON. Setting this to null will make the default config to be used.
      Specified by:
      setJsonConfig in interface StaplerResponse
      Parameters:
      config - the config
    • getJsonConfig

      public net.sf.json.JsonConfig getJsonConfig()
      The JsonConfig to be used when serializing java beans to JSON previously set by StaplerResponse.setJsonConfig(JsonConfig). Will return the default config if nothing has previously been set.
      Specified by:
      getJsonConfig in interface StaplerResponse
      Returns:
      the config
    • addCookie

      public void addCookie(javax.servlet.http.Cookie cookie)
      Specified by:
      addCookie in interface javax.servlet.http.HttpServletResponse
    • addDateHeader

      public void addDateHeader(String name, long date)
      Specified by:
      addDateHeader in interface javax.servlet.http.HttpServletResponse
    • addHeader

      public void addHeader(String name, String value)
      Specified by:
      addHeader in interface javax.servlet.http.HttpServletResponse
    • addIntHeader

      public void addIntHeader(String name, int value)
      Specified by:
      addIntHeader in interface javax.servlet.http.HttpServletResponse
    • containsHeader

      public boolean containsHeader(String name)
      Specified by:
      containsHeader in interface javax.servlet.http.HttpServletResponse
    • encodeRedirectURL

      public String encodeRedirectURL(String url)
      Specified by:
      encodeRedirectURL in interface javax.servlet.http.HttpServletResponse
    • encodeRedirectUrl

      public String encodeRedirectUrl(String url)
      Specified by:
      encodeRedirectUrl in interface javax.servlet.http.HttpServletResponse
    • encodeURL

      public String encodeURL(String url)
      Specified by:
      encodeURL in interface javax.servlet.http.HttpServletResponse
    • encodeUrl

      public String encodeUrl(String url)
      Specified by:
      encodeUrl in interface javax.servlet.http.HttpServletResponse
    • sendError

      public void sendError(int sc) throws IOException
      Specified by:
      sendError in interface javax.servlet.http.HttpServletResponse
      Throws:
      IOException
    • sendError

      public void sendError(int sc, String msg) throws IOException
      Specified by:
      sendError in interface javax.servlet.http.HttpServletResponse
      Throws:
      IOException
    • setDateHeader

      public void setDateHeader(String name, long date)
      Specified by:
      setDateHeader in interface javax.servlet.http.HttpServletResponse
    • setHeader

      public void setHeader(String name, String value)
      Specified by:
      setHeader in interface javax.servlet.http.HttpServletResponse
    • setIntHeader

      public void setIntHeader(String name, int value)
      Specified by:
      setIntHeader in interface javax.servlet.http.HttpServletResponse
    • setStatus

      public void setStatus(int sc)
      Specified by:
      setStatus in interface javax.servlet.http.HttpServletResponse
    • setStatus

      public void setStatus(int sc, String sm)
      Specified by:
      setStatus in interface javax.servlet.http.HttpServletResponse
    • flushBuffer

      public void flushBuffer() throws IOException
      Specified by:
      flushBuffer in interface javax.servlet.ServletResponse
      Throws:
      IOException
    • getBufferSize

      public int getBufferSize()
      Specified by:
      getBufferSize in interface javax.servlet.ServletResponse
    • getCharacterEncoding

      public String getCharacterEncoding()
      Specified by:
      getCharacterEncoding in interface javax.servlet.ServletResponse
    • getLocale

      public Locale getLocale()
      Specified by:
      getLocale in interface javax.servlet.ServletResponse
    • isCommitted

      public boolean isCommitted()
      Specified by:
      isCommitted in interface javax.servlet.ServletResponse
    • reset

      public void reset()
      Specified by:
      reset in interface javax.servlet.ServletResponse
    • resetBuffer

      public void resetBuffer()
      Specified by:
      resetBuffer in interface javax.servlet.ServletResponse
    • setBufferSize

      public void setBufferSize(int size)
      Specified by:
      setBufferSize in interface javax.servlet.ServletResponse
    • setContentLength

      public void setContentLength(int len)
      Specified by:
      setContentLength in interface javax.servlet.ServletResponse
    • setContentType

      public void setContentType(String type)
      Specified by:
      setContentType in interface javax.servlet.ServletResponse
    • setLocale

      public void setLocale(Locale loc)
      Specified by:
      setLocale in interface javax.servlet.ServletResponse
    • getStatus

      public int getStatus()
      Specified by:
      getStatus in interface javax.servlet.http.HttpServletResponse
    • getHeader

      public String getHeader(String name)
      Specified by:
      getHeader in interface javax.servlet.http.HttpServletResponse
    • getHeaders

      public Collection<String> getHeaders(String name)
      Specified by:
      getHeaders in interface javax.servlet.http.HttpServletResponse
    • getHeaderNames

      public Collection<String> getHeaderNames()
      Specified by:
      getHeaderNames in interface javax.servlet.http.HttpServletResponse
    • getContentType

      public String getContentType()
      Specified by:
      getContentType in interface javax.servlet.ServletResponse
    • setCharacterEncoding

      public void setCharacterEncoding(String charset)
      Specified by:
      setCharacterEncoding in interface javax.servlet.ServletResponse
    • setContentLengthLong

      public void setContentLengthLong(long len)
      Specified by:
      setContentLengthLong in interface javax.servlet.ServletResponse