|
JSF-Spring | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object javax.faces.context.ExternalContext de.mindmatters.faces.context.ServletExternalContextFake
public class ServletExternalContextFake
This class allows the Faces API to be unaware of the nature of its containing application environment.
Note: documentation copied from specification
This class implements the nature of a servlet applicaton environment. As it's
name says this class fakes the behavior described in the specifications. This
class implements the specified behavior which delegates to the
ServletContext. Specified behavior which delegates to the ServletRequest or
ServletResponse is not implemented (In fact a
UnsupportedOperationException
will be thrown).
This class is used on startup time to preinstantiate singletons declared in any Spring-based configuration context which needs a FacesContext for instantiation.
Field Summary | |
---|---|
protected org.apache.commons.logging.Log |
logger
For logging. |
Fields inherited from class javax.faces.context.ExternalContext |
---|
BASIC_AUTH, CLIENT_CERT_AUTH, DIGEST_AUTH, FORM_AUTH |
Constructor Summary | |
---|---|
ServletExternalContextFake(javax.servlet.ServletContext servletContext)
Constructs an ExternalContext with the given ServletContext servletContext . |
Method Summary | |
---|---|
void |
destroy()
Invoked by a BeanFactory on destruction of a singleton. |
void |
dispatch(java.lang.String path)
Dispatch a request to the specified resource to create output for this response. |
java.lang.String |
encodeActionURL(java.lang.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. |
java.lang.String |
encodeNamespace(java.lang.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. |
java.lang.String |
encodeResourceURL(java.lang.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. |
java.util.Map |
getApplicationMap()
Return a mutable |
java.lang.String |
getAuthType()
Return the name of the authentication scheme used to authenticate
the current user, if any; otherwise, return |
java.lang.Object |
getContext()
Return the application environment object instance for the current appication. |
java.lang.String |
getInitParameter(java.lang.String name)
Return the value of the specified application initialization parameter (if any). |
java.util.Map |
getInitParameterMap()
Return an immutable |
java.lang.String |
getRemoteUser()
Return the login name of the user making the current request
if any; otherwise, return |
java.lang.Object |
getRequest()
Return the environment-specific object instance for the current request. |
java.lang.String |
getRequestContextPath()
Return the portion of the request URI that identifies the web application context for this request. |
java.util.Map |
getRequestCookieMap()
Return an immutable |
java.util.Map |
getRequestHeaderMap()
Return an immutable |
java.util.Map |
getRequestHeaderValuesMap()
Return an immutable |
java.util.Locale |
getRequestLocale()
Return the preferred |
java.util.Iterator |
getRequestLocales()
Return an |
java.util.Map |
getRequestMap()
Return a mutable |
java.util.Map |
getRequestParameterMap()
Return an immutable |
java.util.Iterator |
getRequestParameterNames()
Return an |
java.util.Map |
getRequestParameterValuesMap()
Return an immutable |
java.lang.String |
getRequestPathInfo()
Return the extra path information (if any) included in the
request URI; otherwise, return |
java.lang.String |
getRequestServletPath()
Return the servlet path information (if any) included in the
request URI; otherwise, return |
java.net.URL |
getResource(java.lang.String path)
Return a |
java.io.InputStream |
getResourceAsStream(java.lang.String path)
Return an |
java.util.Set |
getResourcePaths(java.lang.String path)
Return the |
java.lang.Object |
getResponse()
Return the environment-specific object instance for the current response. |
protected javax.servlet.ServletContext |
getServletContext()
Returns the ServletContext. |
java.lang.Object |
getSession(boolean create)
If the |
java.util.Map |
getSessionMap()
Return a mutable |
java.security.Principal |
getUserPrincipal()
Return the |
boolean |
isUserInRole(java.lang.String role)
Return |
void |
log(java.lang.String message)
Log the specified message to the application object. |
void |
log(java.lang.String message,
java.lang.Throwable exception)
Log the specified message and exception to the application object. |
void |
redirect(java.lang.String url)
Redirect a request to the specified URL, and cause the
|
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
---|
protected final org.apache.commons.logging.Log logger
Constructor Detail |
---|
public ServletExternalContextFake(javax.servlet.ServletContext servletContext)
servletContext
.
servletContext
- the context of the application environmentMethod Detail |
---|
public void dispatch(java.lang.String path) throws java.io.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.
dispatch
in class ExternalContext
path
- Context relative path to the specified resource,
which must start with a slash ("/") character
java.io.IOException
- if an input/output error occurspublic java.lang.String encodeActionURL(java.lang.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)
.
encodeActionURL
in class ExternalContext
url
- The input URL to be encodedpublic java.lang.String encodeNamespace(java.lang.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()
.
encodeNamespace
in class ExternalContext
name
- Name to be encodedpublic java.lang.String encodeResourceURL(java.lang.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)
.
encodeResourceURL
in class ExternalContext
url
- The input URL to be encodedpublic java.util.Map 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.
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()
.
getApplicationMap
in class ExternalContext
public java.lang.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()
.
getAuthType
in class ExternalContext
public java.lang.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.
getContext
in class ExternalContext
public java.lang.String getInitParameter(java.lang.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)
.
getInitParameter
in class ExternalContext
name
- Name of the requested initialization parameterpublic java.util.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.
getInitParameterMap
in class ExternalContext
public java.lang.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()
.
getRemoteUser
in class ExternalContext
public java.lang.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.
getRequest
in class ExternalContext
public java.lang.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()
.
getRequestContextPath
in class ExternalContext
public java.util.Map 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.ServletRequest
method
getCookies()
, unless null
was returned,
in which case this must be a zero-length array.
Portlet: The must be a zero-length array.
getRequestCookieMap
in class ExternalContext
public java.util.Map 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.
getRequestHeaderMap
in class ExternalContext
public java.util.Map 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.
getRequestHeaderValuesMap
in class ExternalContext
public java.util.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()
.
getRequestLocale
in class ExternalContext
public java.util.Iterator getRequestLocales()
Return an Iterator
over the preferred
Locale
s 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()
.
getRequestLocales
in class ExternalContext
public java.util.Map 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.
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()
.
getRequestMap
in class ExternalContext
public java.util.Map 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()
.
getRequestParameterMap
in class ExternalContext
public java.util.Iterator 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()
.
getRequestParameterNames
in class ExternalContext
public java.util.Map 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()
.
getRequestParameterValuesMap
in class ExternalContext
public java.lang.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
.
getRequestPathInfo
in class ExternalContext
public java.lang.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
.
getRequestServletPath
in class ExternalContext
public java.net.URL getResource(java.lang.String path) throws java.net.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)
.
getResource
in class ExternalContext
path
- The path to the requested resource, which must
start with a slash ("/" character
java.net.MalformedURLException
- if the specified path
is not in the correct formpublic java.io.InputStream getResourceAsStream(java.lang.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)
.
getResourceAsStream
in class ExternalContext
path
- The path to the requested resource, which must
start with a slash ("/" characterpublic java.util.Set getResourcePaths(java.lang.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).
Servlet: This must be the value returned by the
javax.servlet.ServletContext
method
getResourcePaths(path).
getResourcePaths
in class ExternalContext
path
- Partial path used to match resources, which must
start with a slash ("/") characterpublic java.lang.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.
getResponse
in class ExternalContext
public java.lang.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.
getSession
in class ExternalContext
create
- Flag indicating whether or not a new session should be
created if there is no session associated with the current requestpublic java.util.Map 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. 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.
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.
getSessionMap
in class ExternalContext
public java.security.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()
.
getUserPrincipal
in class ExternalContext
public boolean isUserInRole(java.lang.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)
.
isUserInRole
in class ExternalContext
role
- Logical role name to be checkedpublic void log(java.lang.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)
.
log
in class ExternalContext
message
- Message to be loggedpublic void log(java.lang.String message, java.lang.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)
.
log
in class ExternalContext
message
- Message to be loggedexception
- Exception to be loggedpublic void redirect(java.lang.String url) throws java.io.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()
.
redirect
in class ExternalContext
url
- Absolute URL to which the client should be redirected
java.io.IOException
- if an input/output error occurspublic void destroy() throws java.lang.Exception
destroy
in interface DisposableBean
java.lang.Exception
- in case of shutdown errors.
Exceptions will get logged but not rethrown to allow
other beans to release their resources too.protected final javax.servlet.ServletContext getServletContext()
|
JSF-Spring | |||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |