| 
		
			 Préférences 
			
			
			
			
			Moteurs de recherche 
			
		 | 
	|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| 				 JavaTM Platform, Enterprise Edition, v 5.0 
			
javax.faces.context
 | 
	||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
| Field Summary | |
|---|---|
static String | 
BASIC_AUTH
String identifier for BASIC authentication.  | 
static String | 
CLIENT_CERT_AUTH
String identifier for CLIENT_CERT authentication.  | 
static String | 
DIGEST_AUTH
String identifier for DIGEST authentication.  | 
static String | 
FORM_AUTH
String identifier for FORM authentication.  | 
| Constructor Summary | |
|---|---|
ExternalContext()
 | 
|
| Method Summary | |
|---|---|
abstract  void | 
dispatch(String path)
Dispatch a request to the specified resource to create output for this response.  | 
abstract  String | 
encodeActionURL(String url)
Return the input URL, after performing any rewriting needed to ensure that it will correctly identify an addressable action in the current application.  | 
abstract  String | 
encodeNamespace(String name)
Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page.  | 
abstract  String | 
encodeResourceURL(String url)
Return the input URL, after performing any rewriting needed to ensure that it will correctly identify an addressable resource in the current application.  | 
abstract  Map<String,Object> | 
getApplicationMap()
Return a mutable Map representing the application
 scope attributes for the current application. | 
abstract  String | 
getAuthType()
Return the name of the authentication scheme used to authenticate the current user, if any; otherwise, return null. | 
abstract  Object | 
getContext()
Return the application environment object instance for the current appication.  | 
abstract  String | 
getInitParameter(String name)
Return the value of the specified application initialization parameter (if any).  | 
abstract  Map | 
getInitParameterMap()
Return an immutable Map whose keys are the set of
 application initialization parameter names configured for this
 application, and whose values are the corresponding parameter
 values. | 
abstract  String | 
getRemoteUser()
Return the login name of the user making the current request if any; otherwise, return null. | 
abstract  Object | 
getRequest()
Return the environment-specific object instance for the current request.  | 
 String | 
getRequestCharacterEncoding()
Return the character encoding currently being used to interpret this request.  | 
 String | 
getRequestContentType()
Return the MIME Content-Type for this request.  | 
abstract  String | 
getRequestContextPath()
Return the portion of the request URI that identifies the web application context for this request.  | 
abstract  Map<String,Object> | 
getRequestCookieMap()
Return an immutable Map whose keys are the set of
 cookie names included in the current request, and whose
 values (of type javax.servlet.http.Cookie)
 are the first (or only) cookie for each cookie name
 returned by the underlying request. | 
abstract  Map<String,String> | 
getRequestHeaderMap()
Return an immutable Map whose keys are the set of
 request header names included in the current request, and whose
 values (of type String) are the first (or only) value for each
 header name returned by the underlying request. | 
abstract  Map<String,String[]> | 
getRequestHeaderValuesMap()
Return an immutable Map whose keys are the set of
 request header names included in the current request, and whose
 values (of type String[]) are all of the value for each
 header name returned by the underlying request. | 
abstract  Locale | 
getRequestLocale()
Return the preferred Locale in which the client
 will accept content. | 
abstract  Iterator<Locale> | 
getRequestLocales()
Return an Iterator over the preferred
 Locales specified in the request, in decreasing
 order of preference. | 
abstract  Map<String,Object> | 
getRequestMap()
Return a mutable Map representing the request
 scope attributes for the current application. | 
abstract  Map<String,String> | 
getRequestParameterMap()
Return an immutable Map whose keys are the set of
 request parameters names included in the current request, and whose
 values (of type String) are the first (or only) value for each
 parameter name returned by the underlying request. | 
abstract  Iterator<String> | 
getRequestParameterNames()
Return an Iterator over the names of all request
 parameters included in the current request. | 
abstract  Map<String,String[]> | 
getRequestParameterValuesMap()
Return an immutable Map whose keys are the set of
 request parameters names included in the current request, and whose
 values (of type String[]) are all of the values for each
 parameter name returned by the underlying request. | 
abstract  String | 
getRequestPathInfo()
Return the extra path information (if any) included in the request URI; otherwise, return null. | 
abstract  String | 
getRequestServletPath()
Return the servlet path information (if any) included in the request URI; otherwise, return null. | 
abstract  URL | 
getResource(String path)
Return a URL for the application resource mapped to the
 specified path, if it exists; otherwise, return null. | 
abstract  InputStream | 
getResourceAsStream(String path)
Return an InputStream for an application resource
 mapped to the specified path, if it exists; otherwise, return
 null. | 
abstract  Set<String> | 
getResourcePaths(String path)
Return the Set of resource paths for all application
 resources whose resource path starts with the specified argument. | 
abstract  Object | 
getResponse()
Return the environment-specific object instance for the current response.  | 
 String | 
getResponseCharacterEncoding()
Returns the name of the character encoding (MIME charset) used for the body sent in this response.  | 
 String | 
getResponseContentType()
Return the MIME Content-Type for this response.  | 
abstract  Object | 
getSession(boolean create)
If the create parameter is true,
 create (if necessary) and return a session instance associated
 with the current request. | 
abstract  Map<String,Object> | 
getSessionMap()
Return a mutable Map representing the session
 scope attributes for the current application. | 
abstract  Principal | 
getUserPrincipal()
Return the Principal object containing the name of
 the current authenticated user, if any; otherwise, return
 null. | 
abstract  boolean | 
isUserInRole(String role)
Return true if the currently authenticated user is
 included in the specified role. | 
abstract  void | 
log(String message)
Log the specified message to the application object.  | 
abstract  void | 
log(String message,
    Throwable exception)
Log the specified message and exception to the application object.  | 
abstract  void | 
redirect(String url)
Redirect a request to the specified URL, and cause the responseComplete() method to be called on the
 FacesContext instance for the current request. | 
 void | 
setRequest(Object request)
Set the environment-specific request to be returned by subsequent calls to getRequest(). | 
 void | 
setRequestCharacterEncoding(String encoding)
Overrides the name of the character encoding used in the body of this request.  | 
 void | 
setResponse(Object response)
Set the environment-specific response to be returned by subsequent calls to getResponse(). | 
 void | 
setResponseCharacterEncoding(String encoding)
Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8.  | 
| Methods inherited from class java.lang.Object | 
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait | 
| Field Detail | 
|---|
public static final String BASIC_AUTH
String identifier for BASIC authentication.
public static final String CLIENT_CERT_AUTH
String identifier for CLIENT_CERT authentication.
public static final String DIGEST_AUTH
String identifier for DIGEST authentication.
public static final String FORM_AUTH
String identifier for FORM authentication.
| Constructor Detail | 
|---|
public ExternalContext()
| Method Detail | 
|---|
public abstract void dispatch(String path) throws IOException
Dispatch a request to the specified resource to create output for this response.
Servlet: This must be accomplished by calling the
 javax.servlet.ServletContext method
 getRequestDispatcher(path), and calling the
 forward() method on the resulting object.
Portlet: This must be accomplished by calling the
 javax.portlet.PortletContext method
 getRequestDispatcher(), and calling the
 include() method on the resulting object.
path - Context relative path to the specified resource,
  which must start with a slash ("/") character
FacesException - thrown if a ServletException
  or PortletException occurs
IllegalArgumentException - if no request dispatcher
  can be created for the specified path
IllegalStateException - if this method is called in a portlet
  environment, and the current request is an ActionRequest
  instead of a RenderRequest
IOException - if an input/output error occurs
NullPointerException - if path
  is nullpublic abstract String encodeActionURL(String url)
Return the input URL, after performing any rewriting needed to ensure that it will correctly identify an addressable action in the current application.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletResponse method
 encodeURL(url).
Portlet: This must be the value returned by the
 javax.portlet.PortletResponse method
 encodeURL(url).
url - The input URL to be encoded
NullPointerException - if url
  is nullpublic abstract String encodeNamespace(String name)
Return the specified name, after prefixing it with a namespace that ensures that it will be unique within the context of a particular page.
Servlet: The input value must be returned unchanged.
Portlet: The returned value must be the input value
 prefixed by the value returned by the
 javax.portlet.RenderResponse method
 getNamespace().
name - Name to be encoded
IllegalStateException - if this method is called in a portlet
  environment, and the current response is an ActionResponse
  instead of a RenderResponse
NullPointerException - if name
  is nullpublic abstract String encodeResourceURL(String url)
Return the input URL, after performing any rewriting needed to ensure that it will correctly identify an addressable resource in the current application.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletResponse method
 encodeURL(url).
Portlet: This must be the value returned by the
 javax.portlet.PortletResponse method
 encodeURL(url).
url - The input URL to be encoded
NullPointerException - if url
  is nullpublic abstract Map<String,Object> getApplicationMap()
Return a mutable Map representing the application
 scope attributes for the current application.  The returned
 Map must implement the entire contract for a
 modifiable map as described in the JavaDocs for
 java.util.Map.  Modifications made in the
 Map must cause the corresponding changes in the set
 of application scope attributes.  Particularly the
 clear(), remove(), put(),
 putAll(), and get() operations must
 take the appropriate action on the underlying data structure.
For any of the Map methods that cause an element
 to be removed from the underlying data structure, the following
 action regarding managed-beans must be taken.  If the element to
 be removed is a managed-bean, and it has one or more public
 no-argument void return methods annotated with
 javax.annotation.PreDestroy, each such method must
 be called before the element is removed from the underlying data
 structure.  Elements that are not managed-beans, but do happen to
 have methods with that annotation must not have those methods
 called on removal.  Any exception thrown by the
 PreDestroy annotated methods must by caught and not
 rethrown.  The exception may be logged.
Servlet:  This must be the set of attributes available via
 the javax.servlet.ServletContext methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
Portlet:  This must be the set of attributes available via
 the javax.portlet.PortletContext methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
public abstract String getAuthType()
Return the name of the authentication scheme used to authenticate
 the current user, if any; otherwise, return null.
 For standard authentication schemes, the returned value will match
 one of the following constants:
 BASIC_AUTH, CLIENT_CERT_AUTH,
 DIGEST_AUTH, or FORM_AUTH.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getAuthType().
Portlet: This must be the value returned by the
 javax.portlet.http.PortletRequest method
 getAuthType().
public abstract Object getContext()
Return the application environment object instance for the current appication.
Servlet:  This must be the current application's
 javax.servlet.ServletContext instance.
Portlet:  This must be the current application's
 javax.portlet.PortletContext instance.
public abstract String getInitParameter(String name)
Return the value of the specified application initialization parameter (if any).
Servlet: This must be the result of the
 javax.servlet.ServletContext method
 getInitParameter(name).
Portlet: This must be the result of the
 javax.portlet.PortletContext method
 getInitParameter(name).
name - Name of the requested initialization parameter
NullPointerException - if name
  is nullpublic abstract Map getInitParameterMap()
Return an immutable Map whose keys are the set of
 application initialization parameter names configured for this
 application, and whose values are the corresponding parameter
 values.  The returned Map must implement the entire
 contract for an unmodifiable map as described in the JavaDocs
 for java.util.Map.
Servlet: This result must be as if it were synthesized
 by calling the javax.servlet.ServletContext
 method getInitParameterNames, and putting
 each configured parameter name/value pair into the result.
Portlet: This result must be as if it were synthesized
 by calling the javax.portlet.PortletContext
 method getInitParameterNames, and putting
 each configured parameter name/value pair into the result.
public abstract String getRemoteUser()
Return the login name of the user making the current request
 if any; otherwise, return null.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getRemoteUser().
Portlet: This must be the value returned by the
 javax.portlet.http.PortletRequest method
 getRemoteUser().
public abstract Object getRequest()
Return the environment-specific object instance for the current request.
Servlet:  This must be the current request's
 javax.servlet.http.HttpServletRequest instance.
Portlet:  This must be the current request's
 javax.portlet.PortletRequest instance, which
 will be either an ActionRequest or a
 RenderRequest depending upon when this method
 is called.
public void setRequest(Object request)
Set the environment-specific request to be returned by
 subsequent calls to getRequest().  This may be used to
 install a wrapper for the request.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public void setRequestCharacterEncoding(String encoding) throws UnsupportedEncodingException
Overrides the name of the character encoding used in the body of this request.
Calling this method after the request has been accessed will have no
 no effect, unless a Reader or Stream has been
 obtained from the request, in which case an IllegalStateException
 is thrown.
Servlet: This must call through to the
 javax.servlet.ServletRequest method
 setCharacterEncoding().
Portlet: This must call through to the
 javax.portlet.ActionRequest method
 setCharacterEncoding().
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
UnsupportedEncodingException - if this is not a valid
 encodingpublic abstract String getRequestContextPath()
Return the portion of the request URI that identifies the web application context for this request.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getContextPath().
Portlet: This must be the value returned by the
 javax.portlet.PortletRequest method
 getContextPath().
public abstract Map<String,Object> getRequestCookieMap()
Return an immutable Map whose keys are the set of
 cookie names included in the current request, and whose
 values (of type javax.servlet.http.Cookie)
 are the first (or only) cookie for each cookie name
 returned by the underlying request.  The returned
 Map must implement the entire contract for an unmodifiable
 map as described in the JavaDocs for java.util.Map.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getCookies(), unless null was returned,
 in which case this must be a zero-length array.
Portlet: Ths must be an empty Map.
public abstract Map<String,String> getRequestHeaderMap()
Return an immutable Map whose keys are the set of
 request header names included in the current request, and whose
 values (of type String) are the first (or only) value for each
 header name returned by the underlying request.  The returned
 Map must implement the entire contract for an unmodifiable
 map as described in the JavaDocs for java.util.Map.  In
 addition, key comparisons must be performed in a case insensitive
 manner.
Servlet: This must be the set of headers available via
 the javax.servlet.http.HttpServletRequest methods
 getHeader() and getHeaderNames().
Portlet: This must be the set of properties available via
 the javax.portlet.PortletRequest methods
 getProperty() and getPropertyNames().
 As such, HTTP headers will only be included if they were provided
 by the portlet container, and additional properties provided by
 the portlet container may also be included.
public abstract Map<String,String[]> getRequestHeaderValuesMap()
Return an immutable Map whose keys are the set of
 request header names included in the current request, and whose
 values (of type String[]) are all of the value for each
 header name returned by the underlying request.  The returned
 Map must implement the entire contract for an unmodifiable
 map as described in the JavaDocs for java.util.Map.  In
 addition, key comparisons must be performed in a case insensitive
 manner.
Servlet: This must be the set of headers available via
 the javax.servlet.http.HttpServletRequest methods
 getHeaders() and getHeaderNames().
Portlet: This must be the set of properties available via
 the javax.portlet.PortletRequest methods
 getProperties() and getPropertyNames().
 As such, HTTP headers will only be included if they were provided
 by the portlet container, and additional properties provided by
 the portlet container may also be included.
public abstract Locale getRequestLocale()
Return the preferred Locale in which the client
 will accept content.
Servlet: This must be the value returned by the
 javax.servlet.ServletRequest method
 getLocale().
Portlet: This must be the value returned by the
 javax.portlet.PortletRequest method
 getLocale().
public abstract Iterator<Locale> getRequestLocales()
Return an Iterator over the preferred
 Locales specified in the request, in decreasing
 order of preference.
Servlet: This must be an Iterator
 over the values returned by the javax.servlet.ServletRequest
 method getLocales().
Portlet: This must be an Iterator
 over the values returned by the javax.portlet.PortletRequest
 method getLocales().
public abstract Map<String,Object> getRequestMap()
Return a mutable Map representing the request
 scope attributes for the current application.  The returned
 Map must implement the entire contract for a
 modifiable map as described in the JavaDocs for
 java.util.Map.  Modifications made in the
 Map must cause the corresponding changes in the set
 of request scope attributes.  Particularly the
 clear(), remove(), put(),
 putAll(), and get() operations must
 take the appropriate action on the underlying data structure.
For any of the Map methods that cause an element
 to be removed from the underlying data structure, the following
 action regarding managed-beans must be taken.  If the element to
 be removed is a managed-bean, and it has one or more public
 no-argument void return methods annotated with
 javax.annotation.PreDestroy, each such method must
 be called before the element is removed from the underlying data
 structure.  Elements that are not managed-beans, but do happen to
 have methods with that annotation must not have those methods
 called on removal.  Any exception thrown by the
 PreDestroy annotated methods must by caught and not
 rethrown.  The exception may be logged.
Servlet:  This must be the set of attributes available via
 the javax.servlet.ServletRequest methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
Portlet:  This must be the set of attributes available via
 the javax.portlet.PortletRequest methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
public abstract Map<String,String> getRequestParameterMap()
Return an immutable Map whose keys are the set of
 request parameters names included in the current request, and whose
 values (of type String) are the first (or only) value for each
 parameter name returned by the underlying request.  The returned
 Map must implement the entire contract for an unmodifiable
 map as described in the JavaDocs for java.util.Map.
Servlet: This must be the set of parameters available via
 the javax.servlet.ServletRequest methods
 getParameter() and getParameterNames().
Portlet: This must be the set of parameters available via
 the javax.portlet.PortletRequest methods
 getParameter() and getParameterNames().
public abstract Iterator<String> getRequestParameterNames()
Return an Iterator over the names of all request
 parameters included in the current request.
Servlet: This must be an Iterator over the
 values returned by the javax.servlet.ServletRequest
 method getParameterNames().
Portlet: This must be an Iterator over the
 values returned by the javax.portlet.PortletRequest
 method getParameterNames().
public abstract Map<String,String[]> getRequestParameterValuesMap()
Return an immutable Map whose keys are the set of
 request parameters names included in the current request, and whose
 values (of type String[]) are all of the values for each
 parameter name returned by the underlying request.  The returned
 Map must implement the entire contract for an unmodifiable
 map as described in the JavaDocs for java.util.Map.
Servlet: This must be the set of parameters available via
 the javax.servlet.ServletRequest methods
 getParameterValues() and
 getParameterNames().
Portlet: This must be the set of parameters available via
 the javax.portlet.PortletRequest methods
 getParameterValues() and
 getParameterNames().
public abstract String getRequestPathInfo()
Return the extra path information (if any) included in the
 request URI; otherwise, return null.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getPathInfo().
Portlet: This must be null.
public abstract String getRequestServletPath()
Return the servlet path information (if any) included in the
 request URI; otherwise, return null.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getServletPath().
Portlet: This must be null.
public String getRequestCharacterEncoding()
Return the character encoding currently being used to interpret this request.
Servlet: This must return the value returned by the
 javax.servlet.ServletRequest method
 getCharacterEncoding().
Portlet: This must return the value returned by the
 javax.portlet.ActionRequest method
 getCharacterEncoding().
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public String getRequestContentType()
Return the MIME Content-Type for this request.  If not
 available, return null.
Servlet: This must return the value returned by the
 javax.servlet.ServletRequest method
 getContentType().
Portlet: This must return null.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public String getResponseCharacterEncoding()
Returns the name of the character encoding (MIME charset) used for the body sent in this response.
Servlet: This must return the value returned by the
 javax.servlet.ServletResponse method
 getCharacterEncoding().
Portlet: This must return null.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public String getResponseContentType()
Return the MIME Content-Type for this response.  If not
 available, return null.
Servlet: This must return the value returned by the
 javax.servlet.ServletResponse method
 getContentType().
Portlet: This must return null.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public abstract URL getResource(String path) throws MalformedURLException
Return a URL for the application resource mapped to the
 specified path, if it exists; otherwise, return null.
Servlet: This must be the value returned by the
 javax.servlet.ServletContext method
 getResource(path).
Portlet: This must be the value returned by the
 javax.portlet.PortletContext method
 getResource(path).
path - The path to the requested resource, which must
  start with a slash ("/" character
MalformedURLException - if the specified path
  is not in the correct form
NullPointerException - if path
  is nullpublic abstract InputStream getResourceAsStream(String path)
Return an InputStream for an application resource
 mapped to the specified path, if it exists; otherwise, return
 null.
Servlet: This must be the value returned by the
 javax.servlet.ServletContext method
 getResourceAsStream(path).
Portlet: This must be the value returned by the
 javax.portlet.PortletContext method
 getResourceAsStream(path).
path - The path to the requested resource, which must
  start with a slash ("/" character
NullPointerException - if path
  is nullpublic abstract Set<String> getResourcePaths(String path)
Return the Set of resource paths for all application
 resources whose resource path starts with the specified argument.
Servlet: This must be the value returned by the
 javax.servlet.ServletContext method
 getResourcePaths(path).
Portlet: This must be the value returned by the
 javax.portlet.PortletContext method
 getResourcePaths(path).
path - Partial path used to match resources, which must
  start with a slash ("/") character
NullPointerException - if path
  is nullpublic abstract Object getResponse()
Return the environment-specific object instance for the current response.
Servlet:  This is the current request's
 javax.servlet.http.HttpServletResponse instance.
Portlet:  This is the current request's
 javax.portlet.PortletResponse instance, which
 will be either an ActionResponse or a
 RenderResponse depending upon when this method
 is called.
public void setResponse(Object response)
Set the environment-specific response to be returned by
 subsequent calls to getResponse().  This may be used to
 install a wrapper for the response.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public void setResponseCharacterEncoding(String encoding)
Sets the character encoding (MIME charset) of the response being sent to the client, for example, to UTF-8.
Servlet: This must call through to the
 javax.servlet.ServletResponse method
 setCharacterEncoding().
Portlet: This method must take no action.
The default implementation throws 
 UnsupportedOperationException and is provided
 for the sole purpose of not breaking existing applications that extend
 this class.
public abstract Object getSession(boolean create)
If the create parameter is true,
 create (if necessary) and return a session instance associated
 with the current request.  If the create parameter
 is false return any existing session instance
 associated with the current request, or return null if
 there is no such session.
Servlet: This must return the result of calling
 getSession(create) on the underlying
 javax.servlet.http.HttpServletRequest instance.
em>Portlet: This must return the result of calling
 getPortletSession(create) on the underlying
 javax.portlet.PortletRequest instance.
create - Flag indicating whether or not a new session should be
  created if there is no session associated with the current requestpublic abstract Map<String,Object> getSessionMap()
Return a mutable Map representing the session
 scope attributes for the current application.  The returned
 Map must implement the entire contract for a
 modifiable map as described in the JavaDocs for
 java.util.Map.  Modifications made in the
 Map must cause the corresponding changes in the set
 of session scope attributes.  Particularly the
 clear(), remove(), put(),
 and get() operations must take the appropriate
 action on the underlying data structure.  Accessing attributes
 via this Map must cause the creation of a session
 associated with the current request, if such a session does not
 already exist.
For any of the Map methods that cause an element
 to be removed from the underlying data structure, the following
 action regarding managed-beans must be taken.  If the element to
 be removed is a managed-bean, and it has one or more public
 no-argument void return methods annotated with
 javax.annotation.PreDestroy, each such method must
 be called before the element is removed from the underlying data
 structure.  Elements that are not managed-beans, but do happen to
 have methods with that annotation must not have those methods
 called on removal.  Any exception thrown by the
 PreDestroy annotated methods must by caught and not
 rethrown.  The exception may be logged.
Servlet:  This must be the set of attributes available via
 the javax.servlet.http.HttpServletSession methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
Portlet:  This must be the set of attributes available via
 the javax.portlet.PortletSession methods
 getAttribute(), getAttributeNames(),
 removeAttribute(), and setAttribute().
 All session attribute access must occur in PORTLET_SCOPE scope
 within the session.
public abstract Principal getUserPrincipal()
Return the Principal object containing the name of
 the current authenticated user, if any; otherwise, return
 null.
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 getUserPrincipal().
Portlet: This must be the value returned by the
 javax.portlet.http.PortletRequest method
 getUserPrincipal().
public abstract boolean isUserInRole(String role)
Return true if the currently authenticated user is
 included in the specified role.  Otherwise, return false.
 
Servlet: This must be the value returned by the
 javax.servlet.http.HttpServletRequest method
 isUserInRole(role).
Portlet: This must be the value returned by the
 javax.portlet.http.PortletRequest method
 isUserInRole(role).
role - Logical role name to be checked
NullPointerException - if role
  is nullpublic abstract void log(String message)
Log the specified message to the application object.
Servlet: This must be performed by calling the
 javax.servlet.ServletContext method
 log(String).
Portlet: This must be performed by calling the
 javax.portlet.PortletContext method
 log(String).
message - Message to be logged
NullPointerException - if message
  is nullpublic abstract void log(String message, Throwable exception)
Log the specified message and exception to the application object.
Servlet: This must be performed by calling the
 javax.servlet.ServletContext method
 log(String,Throwable).
Portlet: This must be performed by calling the
 javax.portlet.PortletContext method
 log(String,Throwable).
message - Message to be loggedexception - Exception to be logged
NullPointerException - if message
  or exception is nullpublic abstract void redirect(String url) throws IOException
Redirect a request to the specified URL, and cause the
 responseComplete() method to be called on the
 FacesContext instance for the current request.
Servlet: This must be accomplished by calling the
 javax.servlet.http.HttpServletResponse method
 sendRedirect().
Portlet: This must be accomplished by calling the
 javax.portlet.ActionResponse method
 sendRedirect().
url - Absolute URL to which the client should be redirected
IllegalArgumentException - if the specified url is relative
IllegalStateException - if, in a portlet environment,
  the current response object is a RenderResponse
  instead of an ActionResponse
IllegalStateException - if, in a servlet environment,
  the current response has already been committed
IOException - if an input/output error occurs