Package org.apache.tapestry5.services

## Class DelegatingRequest

- java.lang.Object
- - org.apache.tapestry5.services.DelegatingRequest

- All Implemented Interfaces:
    `Request`

      public class DelegatingRequest
      extends java.lang.Object
      implements Request

  Class that wraps an Request, delegating all its methods.
  Since:
    5.1.0.1

- - ### Field Summary

    - ### Fields inherited from interface org.apache.tapestry5.http.services.Request

      `REQUESTED_WITH_HEADER, X_FORWARDED_PROTO_HEADER`

  - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `DelegatingRequest()` | No-arg constructor.
    `DelegatingRequest​(Request request)` | Constructor that receives a Request.

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `java.lang.Object` | `getAttribute​(java.lang.String name)` | Returns the value of the named attribute as an `Object`, or `null` if no attribute of the given name exists.
    `java.util.List<java.lang.String>` | `getAttributeNames()` | Returns a sorted list of attribute names.
    `java.lang.String` | `getContextPath()` | Returns the context path.
    `long` | `getDateHeader​(java.lang.String name)` | Returns the value of the specified request header as a `long` value that represents a `Date` object.
    `java.lang.String` | `getHeader​(java.lang.String name)` | Returns the named header as a string, or null if not found.
    `java.util.List<java.lang.String>` | `getHeaderNames()` | Returns the names of all headers in the request.
    `java.util.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.
    `java.lang.String` | `getMethod()` | Returns the name of the HTTP method with which this request was made, for example, GET, POST, or PUT.
    `java.lang.String` | `getParameter​(java.lang.String name)` | Returns the query parameter value for the given name.
    `java.util.List<java.lang.String>` | `getParameterNames()` | Returns a list of query parameter names, in alphabetical order.
    `java.lang.String[]` | `getParameters​(java.lang.String name)` | Returns the parameter values for the given name.
    `java.lang.String` | `getPath()` | Returns the path portion of the request, which starts with a "/" and contains everything up to the start of the query parameters.
    `java.lang.String` | `getRemoteHost()` | Returns the fully qualified name of the client or the last proxy that sent the request.
    `java.lang.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` | `isSessionInvalidated()` | Returns true if the request specified a session, and that session has been invalidated.
    `boolean` | `isXHR()` | Returns true if the request originated on the client using XmlHttpRequest (the core of any Ajax behavior).
    `void` | `setAttribute​(java.lang.String name, java.lang.Object value)` | Stores an attribute in this request.
    `void` | `setRequest​(Request request)` | Sets the delegate request.

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### DelegatingRequest

          public DelegatingRequest()

      No-arg constructor. It should only be used for testing purposes.

    - #### DelegatingRequest

          public DelegatingRequest​(Request request)

      Constructor that receives a Request.
      Parameters:
        `request` - a `Request`. It cannot be null.

  - ### Method Detail

    - #### setRequest

          public void setRequest​(Request request)

      Sets the delegate request.
      Parameters:
        `request` - a `Request`. It cannot be null.

    - #### getAttribute

          public java.lang.Object getAttribute​(java.lang.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

    - #### getAttributeNames

          public java.util.List<java.lang.String> getAttributeNames()

      Description copied from interface: `Request`
      Returns a sorted list of attribute names.
      Specified by:
        `getAttributeNames` in interface `Request`

    - #### getContextPath

          public java.lang.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`

    - #### getDateHeader

          public long getDateHeader​(java.lang.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

    - #### getHeader

          public java.lang.String getHeader​(java.lang.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`

    - #### getHeaderNames

          public java.util.List<java.lang.String> getHeaderNames()

      Description copied from interface: `Request`
      Returns the names of all headers in the request.
      Specified by:
        `getHeaderNames` in interface `Request`

    - #### getLocale

          public java.util.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`

    - #### getMethod

          public java.lang.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

    - #### getParameter

          public java.lang.String getParameter​(java.lang.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`

    - #### getParameterNames

          public java.util.List<java.lang.String> getParameterNames()

      Description copied from interface: `Request`
      Returns a list of query parameter names, in alphabetical order.
      Specified by:
        `getParameterNames` in interface `Request`

    - #### getParameters

          public java.lang.String[] getParameters​(java.lang.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`

    - #### getPath

          public java.lang.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`

    - #### getServerName

          public java.lang.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

    - #### 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. Invoking this method with true, when the session exists but has been invalidated, will force the creation of a new session.
      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)

    - #### 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

    - #### 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

    - #### 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

    - #### setAttribute

          public void setAttribute​(java.lang.String name,
                                   java.lang.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

    - #### 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

    - #### getRemoteHost

          public java.lang.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

    - #### isSessionInvalidated

          public boolean isSessionInvalidated()

      Description copied from interface: `Request`
      Returns true if the request specified a session, and that session has been invalidated.
      Specified by:
        `isSessionInvalidated` in interface `Request`
      Returns:
        true if session was invalidated during this request