## org.springframework.web.context.request
Class FacesWebRequest

    java.lang.Object
      org.springframework.web.context.request.FacesRequestAttributes
          org.springframework.web.context.request.FacesWebRequest

All Implemented Interfaces:
  NativeWebRequest, RequestAttributes, WebRequest

    public class FacesWebRequest

extends FacesRequestAttributes
implements NativeWebRequest

`WebRequest` adapter for a JSF `FacesContext`.

Since:
  2.5.2
Author:
  Juergen Hoeller

Field Summary

Fields inherited from interface org.springframework.web.context.request.RequestAttributes
`REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION`

Constructor Summary
`FacesWebRequest(FacesContext facesContext)` Create a new FacesWebRequest adapter for the given FacesContext.

Method Summary
`boolean` `checkNotModified(long lastModifiedTimestamp)` Check whether the request qualifies as not modified given the supplied last-modified timestamp (as determined by the application).
`boolean` `checkNotModified(String eTag)` Check whether the request qualifies as not modified given the supplied `ETag` (entity tag), as determined by the application.
`String` `getContextPath()` Return the context path for this request (usually the base path that the current web application is mapped to).
`String` `getDescription(boolean includeClientInfo)` Get a short description of this request, typically containing request URI and session id.
`String` `getHeader(String headerName)` Return the request header of the given name, or `null` if none.
`Iterator<String>` `getHeaderNames()` Return a Iterator over request header names.
`String[]` `getHeaderValues(String headerName)` Return the request header values for the given header name, or `null` if none.
`Locale` `getLocale()` Return the primary Locale for this request.
`Object` `getNativeRequest()` Return the underlying native request object, if available.

`

`<T> T`

`

`getNativeRequest(Class<T> requiredType)`
Return the underlying native request object, if available.

`Object` `getNativeResponse()` Return the underlying native response object, if available.

`

`<T> T`

`

`getNativeResponse(Class<T> requiredType)`
Return the underlying native request object, if available.

`String` `getParameter(String paramName)` Return the request parameter of the given name, or `null` if none.
`Map<String,String[]>` `getParameterMap()` Return a immutable Map of the request parameters, with parameter names as map keys and parameter values as map values.
`Iterator<String>` `getParameterNames()` Return a Iterator over request parameter names.
`String[]` `getParameterValues(String paramName)` Return the request parameter values for the given parameter name, or `null` if none.
`String` `getRemoteUser()` Return the remote user for this request, if any.
`Principal` `getUserPrincipal()` Return the user principal for this request, if any.
`boolean` `isSecure()` Return whether this request has been sent over a secure transport mechanism (such as SSL).
`boolean` `isUserInRole(String role)` Determine whether the user is in the given role for this request.
`String` `toString()`

Methods inherited from class org.springframework.web.context.request.FacesRequestAttributes
`getAttribute, getAttributeMap, getAttributeNames, getExternalContext, getFacesContext, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait`

Methods inherited from interface org.springframework.web.context.request.RequestAttributes
`getAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttribute`

Constructor Detail

### FacesWebRequest

    public FacesWebRequest(FacesContext facesContext)

  Create a new FacesWebRequest adapter for the given FacesContext.

  Parameters:
    `facesContext` - the current FacesContext
  See Also:
    `FacesContext.getCurrentInstance()`

Method Detail

### getNativeRequest

    public Object getNativeRequest()

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeRequest` in interface `NativeWebRequest`
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getNativeResponse

    public Object getNativeResponse()

  Description copied from interface: `NativeWebRequest`
  Return the underlying native response object, if available.

  Specified by:
    `getNativeResponse` in interface `NativeWebRequest`
  See Also:
    `HttpServletResponse`, `ActionResponse`, `RenderResponse`

### getNativeRequest

    public <T> T getNativeRequest(Class<T> requiredType)

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeRequest` in interface `NativeWebRequest`
  Parameters:
    `requiredType` - the desired type of request object
  Returns:
    the matching request object, or `null` if none of that type is available
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getNativeResponse

    public <T> T getNativeResponse(Class<T> requiredType)

  Description copied from interface: `NativeWebRequest`
  Return the underlying native request object, if available.

  Specified by:
    `getNativeResponse` in interface `NativeWebRequest`
  Parameters:
    `requiredType` - the desired type of response object
  Returns:
    the matching response object, or `null` if none of that type is available
  See Also:
    `HttpServletRequest`, `ActionRequest`, `RenderRequest`

### getHeader

    public String getHeader(String headerName)

  Description copied from interface: `WebRequest`
  Return the request header of the given name, or `null` if none.

  Retrieves the first header value in case of a multi-value header.

  Specified by:
    `getHeader` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeader(String)`

### getHeaderValues

    public String[] getHeaderValues(String headerName)

  Description copied from interface: `WebRequest`
  Return the request header values for the given header name, or `null` if none.

  A single-value header will be exposed as an array with a single element.

  Specified by:
    `getHeaderValues` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeaders(String)`

### getHeaderNames

    public Iterator<String> getHeaderNames()

  Description copied from interface: `WebRequest`
  Return a Iterator over request header names.

  Specified by:
    `getHeaderNames` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getHeaderNames()`

### getParameter

    public String getParameter(String paramName)

  Description copied from interface: `WebRequest`
  Return the request parameter of the given name, or `null` if none.

  Retrieves the first parameter value in case of a multi-value parameter.

  Specified by:
    `getParameter` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameter(String)`

### getParameterNames

    public Iterator<String> getParameterNames()

  Description copied from interface: `WebRequest`
  Return a Iterator over request parameter names.

  Specified by:
    `getParameterNames` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterNames()`

### getParameterValues

    public String[] getParameterValues(String paramName)

  Description copied from interface: `WebRequest`
  Return the request parameter values for the given parameter name, or `null` if none.

  A single-value parameter will be exposed as an array with a single element.

  Specified by:
    `getParameterValues` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterValues(String)`

### getParameterMap

    public Map<String,String[]> getParameterMap()

  Description copied from interface: `WebRequest`
  Return a immutable Map of the request parameters, with parameter names as map keys and parameter values as map values. The map values will be of type String array.

  A single-value parameter will be exposed as an array with a single element.

  Specified by:
    `getParameterMap` in interface `WebRequest`
  See Also:
    `ServletRequest.getParameterMap()`

### getLocale

    public Locale getLocale()

  Description copied from interface: `WebRequest`
  Return the primary Locale for this request.

  Specified by:
    `getLocale` in interface `WebRequest`
  See Also:
    `ServletRequest.getLocale()`

### getContextPath

    public String getContextPath()

  Description copied from interface: `WebRequest`
  Return the context path for this request (usually the base path that the current web application is mapped to).

  Specified by:
    `getContextPath` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getContextPath()`

### getRemoteUser

    public String getRemoteUser()

  Description copied from interface: `WebRequest`
  Return the remote user for this request, if any.

  Specified by:
    `getRemoteUser` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getRemoteUser()`

### getUserPrincipal

    public Principal getUserPrincipal()

  Description copied from interface: `WebRequest`
  Return the user principal for this request, if any.

  Specified by:
    `getUserPrincipal` in interface `WebRequest`
  See Also:
    `HttpServletRequest.getUserPrincipal()`

### isUserInRole

    public boolean isUserInRole(String role)

  Description copied from interface: `WebRequest`
  Determine whether the user is in the given role for this request.

  Specified by:
    `isUserInRole` in interface `WebRequest`
  See Also:
    `HttpServletRequest.isUserInRole(String)`

### isSecure

    public boolean isSecure()

  Description copied from interface: `WebRequest`
  Return whether this request has been sent over a secure transport mechanism (such as SSL).

  Specified by:
    `isSecure` in interface `WebRequest`
  See Also:
    `ServletRequest.isSecure()`

### checkNotModified

    public boolean checkNotModified(long lastModifiedTimestamp)

  Description copied from interface: `WebRequest`
  Check whether the request qualifies as not modified given the supplied last-modified timestamp (as determined by the application).

  This will also transparently set the appropriate response headers, for both the modified case and the not-modified case.

  Typical usage:

       public String myHandleMethod(WebRequest webRequest, Model model) {
         long lastModified = // application-specific calculation
         if (request.checkNotModified(lastModified)) {
           // shortcut exit - no further processing necessary
           return null;
         }
         // further request processing, actually building content
         model.addAttribute(...);
         return "myViewName";
       }

  Note: that you typically want to use either this `WebRequest.checkNotModified(long)` method; or `WebRequest.checkNotModified(String)`, but not both.

  Specified by:
    `checkNotModified` in interface `WebRequest`
  Parameters:
    `lastModifiedTimestamp` - the last-modified timestamp that the application determined for the underlying resource
  Returns:
    whether the request qualifies as not modified, allowing to abort request processing and relying on the response telling the client that the content has not been modified

### checkNotModified

    public boolean checkNotModified(String eTag)

  Description copied from interface: `WebRequest`
  Check whether the request qualifies as not modified given the supplied `ETag` (entity tag), as determined by the application.

  This will also transparently set the appropriate response headers, for both the modified case and the not-modified case.

  Typical usage:

       public String myHandleMethod(WebRequest webRequest, Model model) {
         String eTag = // application-specific calculation
         if (request.checkNotModified(eTag)) {
           // shortcut exit - no further processing necessary
           return null;
         }
         // further request processing, actually building content
         model.addAttribute(...);
         return "myViewName";
       }

  Note: that you typically want to use either this `WebRequest.checkNotModified(String)` method; or `WebRequest.checkNotModified(long)`, but not both.

  Specified by:
    `checkNotModified` in interface `WebRequest`
  Parameters:
    `eTag` - the entity tag that the application determined for the underlying resource. This parameter will be padded with quotes (") if necessary.
  Returns:
    whether the request qualifies as not modified, allowing to abort request processing and relying on the response telling the client that the content has not been modified

### getDescription

    public String getDescription(boolean includeClientInfo)

  Description copied from interface: `WebRequest`
  Get a short description of this request, typically containing request URI and session id.

  Specified by:
    `getDescription` in interface `WebRequest`
  Parameters:
    `includeClientInfo` - whether to include client-specific information such as session id and user name
  Returns:
    the requested description as String

### toString

    public String toString()

  Overrides:
    `toString` in class `Object`