agonism.dovetail.site.http
Class HttpRequestContext

java.lang.Object
  |
  +--agonism.dovetail.site.http.HttpRequestContext
All Implemented Interfaces:
IRequestContext

public class HttpRequestContext
extends java.lang.Object
implements IRequestContext


Constructor Summary
HttpRequestContext(javax.servlet.http.HttpServletRequest request, javax.servlet.http.HttpServletResponse response, java.io.Writer writer)
           
 
Method Summary
 java.lang.String encodeURL(java.lang.String url)
          Encode a URL with the SessionID.
 boolean equals(HttpRequestContext other)
           
 boolean equals(java.lang.Object obj)
           
 void forward(Page page)
          Forward a request to a new Page.
 void freeConnection()
          Free the database connection obtained from the getConnection() method.
 java.sql.Connection getConnection()
          Get the database connection.
 java.lang.String getCookieValue(java.lang.String name)
          Get the value of a browser cookie.
 java.util.Collection getErrors()
          Get a Collection of all the errors that have occured in this request.
protected  java.lang.Object getKey()
           
 agonism.dovetail.db.IParameterSource getParameterSource()
          Get an object that implements IParameterSource
 java.lang.String getParameterValue(java.lang.String name)
          Get the value of a request parameter.
 java.lang.String getReferer()
          Get the URL that the request was sent from
 java.lang.Object getRequestValue(java.lang.String key)
          Get a value that has been stored in the Request.
 java.lang.Object getSessionValue(java.lang.String key)
          Get a value that has been stored in the Session.
 Site getSite()
          Get the root Site object.
 java.io.PrintWriter getWriter()
          Get the PrintWriter which is writing the response.
 boolean hasBeenRedirected()
           
 int hashCode()
           
 void include(Page page)
          Inculde another page in the response for this page.
 void init(Site site)
          Initialize the IRequestContext with a Site.
 void reportError(RequestError error)
          Report a request processing error.
 void sendRedirect(Link link)
          Redirect the request to a new Link.
 void sendRedirect(Page page)
          Redirect the request to a new Page.
 void sendRedirect(java.lang.String urlString)
          Redirect the request to a new URL.
 void setRequestValue(java.lang.String key, java.lang.Object value)
          Put a value into the Request state.
 void setSessionValue(java.lang.String key, java.lang.Object value)
          Put a value into the Session state.
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

HttpRequestContext

public HttpRequestContext(javax.servlet.http.HttpServletRequest request,
                          javax.servlet.http.HttpServletResponse response,
                          java.io.Writer writer)
Method Detail

hashCode

public int hashCode()
Overrides:
hashCode in class java.lang.Object

equals

public boolean equals(java.lang.Object obj)
Overrides:
equals in class java.lang.Object

equals

public boolean equals(HttpRequestContext other)

init

public void init(Site site)
Description copied from interface: IRequestContext
Initialize the IRequestContext with a Site.
Specified by:
init in interface IRequestContext

getConnection

public java.sql.Connection getConnection()
Description copied from interface: IRequestContext
Get the database connection. The connection is reference-counted by the IRequestContext, so that all callers will get the same Connection and it is freed once they have all released it using the IRequestContext.freeConnection() method.

Whenever you call this method, you must always pair it with a call to IRequestContext.freeConnection(), otherwise the Connection will not be promptly returned to the connection pool. If you fail to free connections, the ConnectionHelper.finalize() method will write diagnostic information to the WARN log.

Specified by:
getConnection in interface IRequestContext

freeConnection

public void freeConnection()
Description copied from interface: IRequestContext
Free the database connection obtained from the IRequestContext.getConnection() method.

Whenever you call IRequestContext.getConnection(), you must always pair it with a call to IRequestContext.freeConnection(), otherwise the Connection will not be promptly returned to the connection pool. If you fail to free connections, the ConnectionHelper.finalize() method will write diagnostic information to the WARN log.

Specified by:
freeConnection in interface IRequestContext

encodeURL

public java.lang.String encodeURL(java.lang.String url)
Description copied from interface: IRequestContext
Encode a URL with the SessionID.
Specified by:
encodeURL in interface IRequestContext

sendRedirect

public void sendRedirect(Page page)
Description copied from interface: IRequestContext
Redirect the request to a new Page.
Specified by:
sendRedirect in interface IRequestContext

sendRedirect

public void sendRedirect(Link link)
Description copied from interface: IRequestContext
Redirect the request to a new Link.
Specified by:
sendRedirect in interface IRequestContext

sendRedirect

public void sendRedirect(java.lang.String urlString)
Description copied from interface: IRequestContext
Redirect the request to a new URL.
Specified by:
sendRedirect in interface IRequestContext

hasBeenRedirected

public boolean hasBeenRedirected()
Specified by:
hasBeenRedirected in interface IRequestContext
Following copied from interface: agonism.dovetail.site.IRequestContext
Returns:
true if a sendRedirect method has been invoked on this request.

forward

public void forward(Page page)
Description copied from interface: IRequestContext
Forward a request to a new Page.
Specified by:
forward in interface IRequestContext

include

public void include(Page page)
Description copied from interface: IRequestContext
Inculde another page in the response for this page.
Specified by:
include in interface IRequestContext

getWriter

public java.io.PrintWriter getWriter()
Description copied from interface: IRequestContext
Get the PrintWriter which is writing the response.
Specified by:
getWriter in interface IRequestContext

getSite

public Site getSite()
Description copied from interface: IRequestContext
Get the root Site object.
Specified by:
getSite in interface IRequestContext

getParameterSource

public agonism.dovetail.db.IParameterSource getParameterSource()
Description copied from interface: IRequestContext
Get an object that implements IParameterSource
Specified by:
getParameterSource in interface IRequestContext

getParameterValue

public java.lang.String getParameterValue(java.lang.String name)
Description copied from interface: IRequestContext
Get the value of a request parameter.
Specified by:
getParameterValue in interface IRequestContext

getCookieValue

public java.lang.String getCookieValue(java.lang.String name)
Description copied from interface: IRequestContext
Get the value of a browser cookie.
Specified by:
getCookieValue in interface IRequestContext

getSessionValue

public java.lang.Object getSessionValue(java.lang.String key)
Description copied from interface: IRequestContext
Get a value that has been stored in the Session.
Specified by:
getSessionValue in interface IRequestContext

setSessionValue

public void setSessionValue(java.lang.String key,
                            java.lang.Object value)
Description copied from interface: IRequestContext
Put a value into the Session state. Session state is persisted between requests, and is unique to a user.
Specified by:
setSessionValue in interface IRequestContext

getRequestValue

public java.lang.Object getRequestValue(java.lang.String key)
Description copied from interface: IRequestContext
Get a value that has been stored in the Request.
Specified by:
getRequestValue in interface IRequestContext

setRequestValue

public void setRequestValue(java.lang.String key,
                            java.lang.Object value)
Description copied from interface: IRequestContext
Put a value into the Request state. Request state is stored only within the context of a single request.
Specified by:
setRequestValue in interface IRequestContext

reportError

public void reportError(RequestError error)
Description copied from interface: IRequestContext
Report a request processing error.
Specified by:
reportError in interface IRequestContext

getErrors

public java.util.Collection getErrors()
Description copied from interface: IRequestContext
Get a Collection of all the errors that have occured in this request.
Specified by:
getErrors in interface IRequestContext
Following copied from interface: agonism.dovetail.site.IRequestContext
Returns:
an unmodifiable Collection of RequestError objects.

getReferer

public java.lang.String getReferer()
Description copied from interface: IRequestContext
Get the URL that the request was sent from
Specified by:
getReferer in interface IRequestContext

getKey

protected java.lang.Object getKey()