org.apache.wicket.request.http
Class WebResponse

java.lang.Object
  extended by org.apache.wicket.request.Response
      extended by org.apache.wicket.request.http.WebResponse
Direct Known Subclasses:
BufferedWebResponse, MockWebResponse, ServletWebResponse

public abstract class WebResponse
extends Response

Base class for web-related responses.

Author:
Matej Knopp

Nested Class Summary
static class WebResponse.CacheScope
          caching scope for data

Unless the data is confidential, session-specific or user-specific the general advice is to prefer value PUBLIC for best network performance.

 
Field Summary
static Duration MAX_CACHE_DURATION
          Recommended value for cache duration
 
Constructor Summary
WebResponse()
           
 
Method Summary
abstract  void addCookie(javax.servlet.http.Cookie cookie)
          Add a cookie to the web response
abstract  void addHeader(java.lang.String name, java.lang.String value)
          Add a value to the servlet response stream.
abstract  void clearCookie(javax.servlet.http.Cookie cookie)
          Convenience method for clearing a cookie.
 void disableCaching()
          Make this response non-cacheable
 void enableCaching(Duration duration, WebResponse.CacheScope scope)
          Make this response cacheable
abstract  java.lang.String encodeRedirectURL(java.lang.CharSequence url)
          Encodes urls used to redirect.
abstract  void flush()
          Flushes the response.
abstract  boolean isRedirect()
           
abstract  void sendError(int sc, java.lang.String msg)
          Send error status code with optional message.
abstract  void sendRedirect(java.lang.String url)
          Redirects the response to specified URL.
 void setAttachmentHeader(java.lang.String filename)
          Convenience method for setting the content-disposition:attachment header.
abstract  void setContentLength(long length)
          Set the content length on the response, if appropriate in the subclass.
abstract  void setContentType(java.lang.String mimeType)
          Set the content type on the response, if appropriate in the subclass.
abstract  void setDateHeader(java.lang.String name, Time date)
          Set a header to the date value in the servlet response stream.
abstract  void setHeader(java.lang.String name, java.lang.String value)
          Set a header to the string value in the servlet response stream.
 void setInlineHeader(java.lang.String filename)
          Convenience method for setting the content-disposition:inline header.
 void setLastModifiedTime(Time time)
          Set the contents last modified time, if appropriate in the subclass.
abstract  void setStatus(int sc)
          Sets the status code for this response.
 
Methods inherited from class org.apache.wicket.request.Response
close, encodeURL, getContainerResponse, reset, write, write
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

MAX_CACHE_DURATION

public static final Duration MAX_CACHE_DURATION
Recommended value for cache duration

Constructor Detail

WebResponse

public WebResponse()
Method Detail

addCookie

public abstract void addCookie(javax.servlet.http.Cookie cookie)
Add a cookie to the web response

Parameters:
cookie -

clearCookie

public abstract void clearCookie(javax.servlet.http.Cookie cookie)
Convenience method for clearing a cookie.

Parameters:
cookie - The cookie to set
See Also:
addCookie(Cookie)

setHeader

public abstract void setHeader(java.lang.String name,
                               java.lang.String value)
Set a header to the string value in the servlet response stream.

Parameters:
name -
value -

addHeader

public abstract void addHeader(java.lang.String name,
                               java.lang.String value)
Add a value to the servlet response stream.

Parameters:
name -
value -

setDateHeader

public abstract void setDateHeader(java.lang.String name,
                                   Time date)
Set a header to the date value in the servlet response stream.

Parameters:
name -
date -

setContentLength

public abstract void setContentLength(long length)
Set the content length on the response, if appropriate in the subclass. This default implementation does nothing.

Parameters:
length - The length of the content

setContentType

public abstract void setContentType(java.lang.String mimeType)
Set the content type on the response, if appropriate in the subclass. This default implementation does nothing.

Parameters:
mimeType - The mime type

setLastModifiedTime

public void setLastModifiedTime(Time time)
Set the contents last modified time, if appropriate in the subclass.

Parameters:
time - The last modified time

setAttachmentHeader

public void setAttachmentHeader(java.lang.String filename)
Convenience method for setting the content-disposition:attachment header. This header is used if the response should prompt the user to download it as a file instead of opening in a browser.

Parameters:
filename - file name of the attachment

setInlineHeader

public void setInlineHeader(java.lang.String filename)
Convenience method for setting the content-disposition:inline header. This header is used if the response should be shown embedded in browser window while having custom file name when user saves the response. browser.

Parameters:
filename - file name of the attachment

setStatus

public abstract void setStatus(int sc)
Sets the status code for this response.

Parameters:
sc - status code

sendError

public abstract void sendError(int sc,
                               java.lang.String msg)
Send error status code with optional message.

Parameters:
sc -
msg -
Throws:
java.io.IOException

encodeRedirectURL

public abstract java.lang.String encodeRedirectURL(java.lang.CharSequence url)
Encodes urls used to redirect. Sometimes rules for encoding URLs for redirecting differ from encoding URLs for links, so this method is broken out away form Response.encodeURL(CharSequence).

Parameters:
url -
Returns:
encoded URL

sendRedirect

public abstract void sendRedirect(java.lang.String url)
Redirects the response to specified URL. The implementation is responsible for properly encoding the URL. Implementations of this method should run passed in url parameters throu the #encodeRedirectURL(String) method.

Parameters:
url -

isRedirect

public abstract boolean isRedirect()
Returns:
true is sendRedirect(String) was called, false otherwise.

flush

public abstract void flush()
Flushes the response.


disableCaching

public void disableCaching()
Make this response non-cacheable


enableCaching

public void enableCaching(Duration duration,
                          WebResponse.CacheScope scope)
Make this response cacheable

Parameters:
duration - maximum duration before the response must be invalidated by any caches. It should not exceed one year, based on RFC-2616.
scope - controls which caches are allowed to cache the response
See Also:
MAX_CACHE_DURATION


Copyright © 2006-2011 Apache Software Foundation. All Rights Reserved.