org.apache.tapestry5.internal.services
Class RequestImpl

java.lang.Object
  extended by org.apache.tapestry5.internal.services.RequestImpl
All Implemented Interfaces:
Request

public class RequestImpl
extends Object
implements Request

Basic implementation of Request that wraps around an HttpServletRequest.


Constructor Summary
RequestImpl(HttpServletRequest request, String requestEncoding, TapestrySessionFactory sessionFactory)
           
 
Method Summary
 Object getAttribute(String name)
          Returns the value of the named attribute as an Object, or null if no attribute of the given name exists.
 String getContextPath()
          Returns the context path.
 long getDateHeader(String name)
          Returns the value of the specified request header as a long value that represents a Date object.
 String getHeader(String name)
          Returns the named header as a string, or null if not found.
 List<String> getHeaderNames()
          Returns the names of all headers in the request.
 Locale getLocale()
          Returns the locale of the client as determined from the request headers.
 int getLocalPort()
          Returns the Internet Protocol (IP) port number of the interface on which the request was received.
 String getMethod()
          Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
 String getParameter(String name)
          Returns the query parameter value for the given name.
 List<String> getParameterNames()
          Returns a list of query parameter names, in alphabetical order.
 String[] getParameters(String name)
          Returns the parameter values for the given name.
 String getPath()
          Returns the path portion of the request, which starts with a "/" and contains everything up to the start of the query parameters.
 String getRemoteHost()
          Returns the fully qualified name of the client or the last proxy that sent the request.
 String getServerName()
          Returns the host name of the server to which the request was sent.
 int getServerPort()
          Returns the port number to which the request was sent.
 Session getSession(boolean create)
          Gets the Session.
 boolean isRequestedSessionIdValid()
          Checks whether the requested session ID is still valid.
 boolean isSecure()
          Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.
 boolean isXHR()
          Returns true if the request originated on the client using XmlHttpRequest (the core of any Ajax behavior).
 void setAttribute(String name, Object value)
          Stores an attribute in this request.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

RequestImpl

public RequestImpl(HttpServletRequest request,
                   String requestEncoding,
                   TapestrySessionFactory sessionFactory)
Method Detail

getParameterNames

public List<String> getParameterNames()
Description copied from interface: Request
Returns a list of query parameter names, in alphabetical order.

Specified by:
getParameterNames in interface Request

getHeaderNames

public List<String> getHeaderNames()
Description copied from interface: Request
Returns the names of all headers in the request.

Specified by:
getHeaderNames in interface Request

getParameter

public String getParameter(String name)
Description copied from interface: Request
Returns the query parameter value for the given name. Returns null if no such parameter is in the request. For a multi-valued parameter, returns just the first value.

Specified by:
getParameter in interface Request

getParameters

public String[] getParameters(String name)
Description copied from interface: Request
Returns the parameter values for the given name. Returns null if no such parameter is in the request.

Specified by:
getParameters in interface Request

getHeader

public String getHeader(String name)
Description copied from interface: Request
Returns the named header as a string, or null if not found.

Specified by:
getHeader in interface Request

getPath

public String getPath()
Description copied from interface: Request
Returns the path portion of the request, which starts with a "/" and contains everything up to the start of the query parameters. It doesn't include the context path.

Specified by:
getPath in interface Request

getContextPath

public String getContextPath()
Description copied from interface: Request
Returns the context path. This always starts with a "/" character and does not end with one, with the exception of servlets in the root context, which return the empty string.

Specified by:
getContextPath in interface Request

getSession

public Session getSession(boolean create)
Description copied from interface: Request
Gets the Session. If create is false and the session has not be created previously, returns null. Also, if the session is invalidated and create is false, returns null.

Specified by:
getSession in interface Request
Parameters:
create - true to force the creation of the session
Returns:
the session (or null if create is false the session has not been previously created)

getLocale

public Locale getLocale()
Description copied from interface: Request
Returns the locale of the client as determined from the request headers.

Specified by:
getLocale in interface Request

getDateHeader

public long getDateHeader(String name)
Description copied from interface: Request
Returns the value of the specified request header as a long value that represents a Date object. Use this method with headers that contain dates, such as If-Modified-Since .

The date is returned as the number of milliseconds since January 1, 1970 GMT. The header name is case insensitive.

If the request did not have a header of the specified name, this method returns -1. If the header can't be converted to a date, the method throws an IllegalArgumentException.

Specified by:
getDateHeader in interface Request
Parameters:
name - a String specifying the name of the header
Returns:
a long value representing the date specified in the header expressed as the number of milliseconds since January 1, 1970 GMT, or -1 if the named header was not included with the reqest

isXHR

public boolean isXHR()
Description copied from interface: Request
Returns true if the request originated on the client using XmlHttpRequest (the core of any Ajax behavior). Ajax action requests may behave quite differently than ordinary, page-based requests. This implementation currently depends on the client side setting a header: X-Requested-With=XMLHttpRequest (this is what Prototype does).

Specified by:
isXHR in interface Request
Returns:
true if the request has an XmlHttpRequest origin

isSecure

public boolean isSecure()
Description copied from interface: Request
Returns a boolean indicating whether this request was made using a secure channel, such as HTTPS.

Specified by:
isSecure in interface Request
Returns:
a boolean indicating if the request was made using a secure channel

isRequestedSessionIdValid

public boolean isRequestedSessionIdValid()
Description copied from interface: Request
Checks whether the requested session ID is still valid.

Specified by:
isRequestedSessionIdValid in interface Request
Returns:
true if the request included a session id that is still active, false if the included session id has expired

getAttribute

public Object getAttribute(String name)
Description copied from interface: Request
Returns the value of the named attribute as an Object, or null if no attribute of the given name exists. Because this method is a wrapper around ServletRequest.getAttribute(String), it is case sensitive (unlike most of Tapestry).

Specified by:
getAttribute in interface Request
Parameters:
name - a String specifying the name of the attribute
Returns:
an Object containing the value of the attribute, or null if the attribute does not exist

setAttribute

public void setAttribute(String name,
                         Object value)
Description copied from interface: Request
Stores an attribute in this request. Attributes are reset between requests (and remember that in Tapestry, there is usually two requests per operation: the action request that redirects to a render request).

Specified by:
setAttribute in interface Request
Parameters:
name - a String specifying the name of the attribute
value - the Object to be stored, or null to remove the attribute

getMethod

public String getMethod()
Description copied from interface: Request
Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.

Specified by:
getMethod in interface Request
Returns:
a string specifying the name of the method with which this request was made

getServerName

public String getServerName()
Description copied from interface: Request
Returns the host name of the server to which the request was sent. It is the value of the part before ":" in the Host header, if any, or the resolved server name, or the server IP address.

Specified by:
getServerName in interface Request
Returns:
the name of the server

getLocalPort

public int getLocalPort()
Description copied from interface: Request
Returns the Internet Protocol (IP) port number of the interface on which the request was received.

Specified by:
getLocalPort in interface Request
Returns:
an integer specifying the port number

getServerPort

public int getServerPort()
Description copied from interface: Request
Returns the port number to which the request was sent. It is the value of the part after ":" in the Host header, if any, or the server port where the client connection was accepted on.

Specified by:
getServerPort in interface Request
Returns:
an integer specifying the port number
Since:
5.2.5

getRemoteHost

public String getRemoteHost()
Description copied from interface: Request
Returns the fully qualified name of the client or the last proxy that sent the request. If the engine cannot or chooses not to resolve the hostname (to improve performance), this method returns the dotted-string form of the IP address.

Specified by:
getRemoteHost in interface Request
Returns:
a String containing the fully qualified name of the client


Copyright © 2003-2012 The Apache Software Foundation.