public class FacesWebRequest extends FacesRequestAttributes implements NativeWebRequest
WebRequest adapter for a JSF FacesContext.REFERENCE_REQUEST, REFERENCE_SESSION, SCOPE_GLOBAL_SESSION, SCOPE_REQUEST, SCOPE_SESSION| Constructor and Description |
|---|
FacesWebRequest(FacesContext facesContext)
Create a new FacesWebRequest adapter for the given FacesContext.
|
| Modifier and Type | Method and Description |
|---|---|
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 response 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() |
getAttribute, getAttributeMap, getAttributeNames, getExternalContext, getFacesContext, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttributeclone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitgetAttribute, getAttributeNames, getSessionId, getSessionMutex, registerDestructionCallback, removeAttribute, resolveReference, setAttributepublic FacesWebRequest(FacesContext facesContext)
facesContext - the current FacesContextFacesContext.getCurrentInstance()public Object getNativeRequest()
NativeWebRequestgetNativeRequest in interface NativeWebRequestHttpServletRequest,
ActionRequest,
RenderRequestpublic Object getNativeResponse()
NativeWebRequestgetNativeResponse in interface NativeWebRequestHttpServletResponse,
ActionResponse,
RenderResponsepublic <T> T getNativeRequest(Class<T> requiredType)
NativeWebRequestgetNativeRequest in interface NativeWebRequestrequiredType - the desired type of request objectnull if none
of that type is availableHttpServletRequest,
ActionRequest,
RenderRequestpublic <T> T getNativeResponse(Class<T> requiredType)
NativeWebRequestgetNativeResponse in interface NativeWebRequestrequiredType - the desired type of response objectnull if none
of that type is availableHttpServletResponse,
ActionResponse,
RenderResponsepublic String getHeader(String headerName)
WebRequestnull if none.
Retrieves the first header value in case of a multi-value header.
getHeader in interface WebRequestHttpServletRequest.getHeader(String)public String[] getHeaderValues(String headerName)
WebRequestnull if none.
A single-value header will be exposed as an array with a single element.
getHeaderValues in interface WebRequestHttpServletRequest.getHeaders(String)public Iterator<String> getHeaderNames()
WebRequestgetHeaderNames in interface WebRequestHttpServletRequest.getHeaderNames()public String getParameter(String paramName)
WebRequestnull if none.
Retrieves the first parameter value in case of a multi-value parameter.
getParameter in interface WebRequestServletRequest.getParameter(String)public Iterator<String> getParameterNames()
WebRequestgetParameterNames in interface WebRequestServletRequest.getParameterNames()public String[] getParameterValues(String paramName)
WebRequestnull if none.
A single-value parameter will be exposed as an array with a single element.
getParameterValues in interface WebRequestServletRequest.getParameterValues(String)public Map<String,String[]> getParameterMap()
WebRequestA single-value parameter will be exposed as an array with a single element.
getParameterMap in interface WebRequestServletRequest.getParameterMap()public Locale getLocale()
WebRequestgetLocale in interface WebRequestServletRequest.getLocale()public String getContextPath()
WebRequestgetContextPath in interface WebRequestHttpServletRequest.getContextPath()public String getRemoteUser()
WebRequestgetRemoteUser in interface WebRequestHttpServletRequest.getRemoteUser()public Principal getUserPrincipal()
WebRequestgetUserPrincipal in interface WebRequestHttpServletRequest.getUserPrincipal()public boolean isUserInRole(String role)
WebRequestisUserInRole in interface WebRequestHttpServletRequest.isUserInRole(String)public boolean isSecure()
WebRequestisSecure in interface WebRequestServletRequest.isSecure()public boolean checkNotModified(long lastModifiedTimestamp)
WebRequestThis 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 #checkNotModified(long) method; or
WebRequest.checkNotModified(String), but not both.
If the "If-Modified-Since" header is set but cannot be parsed to a date value, this method will ignore the header and proceed with setting the last-modified timestamp on the response.
checkNotModified in interface WebRequestlastModifiedTimestamp - the last-modified timestamp that
the application determined for the underlying resourcepublic boolean checkNotModified(String eTag)
WebRequestETag (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 #checkNotModified(String) method; or
WebRequest.checkNotModified(long), but not both.
checkNotModified in interface WebRequesteTag - the entity tag that the application determined
for the underlying resource. This parameter will be padded
with quotes (") if necessary.public String getDescription(boolean includeClientInfo)
WebRequestgetDescription in interface WebRequestincludeClientInfo - whether to include client-specific
information such as session id and user name