public class FacesContextImpl extends FacesContext
Constructor and Description |
---|
FacesContextImpl(ExternalContext ec,
Lifecycle lifecycle) |
Modifier and Type | Method and Description |
---|---|
void |
addMessage(String clientId,
FacesMessage message)
Append a
FacesMessage to the set of messages associated with
the specified client identifier, if clientId is
not null . |
Application |
getApplication()
Return the
Application instance associated with this web application. |
Map<Object,Object> |
getAttributes()
Return a mutable |
Iterator<String> |
getClientIdsWithMessages()
Return an
Iterator over the client identifiers for
which at least one FacesMessage has been queued. |
PhaseId |
getCurrentPhaseId()
Return the value last set on this
|
static FacesContext |
getDefaultFacesContext() |
javax.el.ELContext |
getELContext()
Return the
ELContext instance for this
FacesContext instance. |
ExceptionHandler |
getExceptionHandler()
Return the |
ExternalContext |
getExternalContext()
|
FacesMessage.Severity |
getMaximumSeverity()
Return the maximum severity level recorded on any
FacesMessage s that has been queued, whether or not they are
associated with any specific UIComponent . |
List<FacesMessage> |
getMessageList()
Like |
List<FacesMessage> |
getMessageList(String clientId)
Like |
Iterator<FacesMessage> |
getMessages()
Return an
Iterator over the FacesMessage s
that have been queued, whether or not they are associated with any
specific client identifier. |
Iterator<FacesMessage> |
getMessages(String clientId)
Return an
Iterator over the FacesMessage s that
have been queued that are associated with the specified client identifier
(if clientId is not null ), or over the
FacesMessage s that have been queued that are not associated with
any specific client identifier (if clientId is
null ). |
PartialViewContext |
getPartialViewContext()
Return the |
RenderKit |
getRenderKit()
Return the
RenderKit instance for the render kit identifier
specified on our UIViewRoot , if there is one. |
boolean |
getRenderResponse()
Return
true if the renderResponse()
method has been called for the current request. |
List<String> |
getResourceLibraryContracts()
Return the list of resource library contracts that have been calculated to be appropriate for use with this view, or an empty list if there are no such resource library contracts. |
boolean |
getResponseComplete()
Return
true if the responseComplete()
method has been called for the current request. |
ResponseStream |
getResponseStream()
Return the
ResponseStream to which components should
direct their binary output. |
ResponseWriter |
getResponseWriter()
Return the
ResponseWriter to which components should
direct their character-based output. |
UIViewRoot |
getViewRoot()
Return the root
component that is associated with the this request.
|
boolean |
isPostback()
This utility method simply returns the result of
|
boolean |
isReleased()
Return a flag indicating if the resources associated with this
|
boolean |
isValidationFailed()
Return |
void |
release()
Release any
resources associated with this
FacesContext
instance. |
void |
renderResponse()
Signal the Jakarta Server Faces implementation that, as soon as the
current phase of the request processing lifecycle has been completed,
control should be passed to the Render Response phase,
bypassing any phases that have not been executed yet.
|
void |
responseComplete()
Signal the Jakarta Server Faces implementation that the HTTP response
for this request has already been generated (such as an HTTP redirect),
and that the request processing lifecycle should be terminated as soon
as the current phase is completed.
|
void |
setCurrentPhaseId(PhaseId currentPhaseId)
The implementation must call this method at the earliest possble point in time after entering into a new phase in the request processing lifecycle. |
void |
setExceptionHandler(ExceptionHandler exceptionHandler)
Set the |
void |
setResourceLibraryContracts(List<String> contracts)
Set the resource library contracts calculated as valid to use with this view. |
void |
setResponseStream(ResponseStream responseStream)
Set the
ResponseStream to which components should
direct their binary output. |
void |
setResponseWriter(ResponseWriter responseWriter)
Set the
ResponseWriter to which components should
direct their character-based output. |
void |
setViewRoot(UIViewRoot root)
Set the root component that is
associated with this request.
|
void |
validationFailed()
Sets a flag which indicates that a conversion or validation error occurred while processing the inputs. |
getCurrentInstance, getNamingContainerSeparatorChar, isProcessingEvents, isProjectStage, setCurrentInstance, setProcessingEvents
public FacesContextImpl(ExternalContext ec, Lifecycle lifecycle)
public ExternalContext getExternalContext()
FacesContext
Return the ExternalContext
instance for this FacesContext
instance.
It is valid to call this method
during application startup or shutdown. If called during application
startup or shutdown, this method returns an ExternalContext
instance
with the special behaviors indicated in the javadoc for that
class. Methods document as being valid to call during
application startup or shutdown must be supported.
getExternalContext
in class FacesContext
ExternalContext
FacesContext.getExternalContext()
public Application getApplication()
FacesContext
Return the Application
instance associated with this web application.
It is valid to call this method
during application startup or shutdown. If called during application
startup or shutdown, returns the correct current Application
instance.
getApplication
in class FacesContext
Application
instance associated with this web application.FacesContext.getApplication()
public ExceptionHandler getExceptionHandler()
FacesContext
Return the ExceptionHandler
for this request.
getExceptionHandler
in class FacesContext
ExceptionHandler
.FacesContext.getExceptionHandler()
public void setExceptionHandler(ExceptionHandler exceptionHandler)
FacesContext
Set the ExceptionHandler
for
this request.
setExceptionHandler
in class FacesContext
exceptionHandler
- the ExceptionHandler
for
this request.FacesContext.setExceptionHandler(javax.faces.context.ExceptionHandler)
public PartialViewContext getPartialViewContext()
FacesContext
Return the PartialViewContext
for this request. The PartialViewContext
is used to control
the processing of specified components during the execute portion of
the request processing lifecycle (known as partial processing) and
the rendering of specified components (known as partial rendering).
This method must return a new PartialViewContext
if one
does not already exist.
getPartialViewContext
in class FacesContext
PartialViewContext
for this request.FacesContext.getPartialViewContext()
public boolean isPostback()
FacesContext
This utility method simply returns the result of
ResponseStateManager.isPostback(FacesContext)
.
The default implementation throws
UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend
this class.
isPostback
in class FacesContext
FacesContext.isPostback()
public boolean isReleased()
FacesContext
Return a flag indicating if the resources associated with this
FacesContext
instance have been released.
isReleased
in class FacesContext
true
if the resources have been released.FacesContext.isReleased()
public Map<Object,Object> getAttributes()
FacesContext
Return a mutable Map
representing the attributes associated wth this
FacesContext
instance. This Map
is
useful to store attributes that you want to go out of scope when the
Faces lifecycle for the current request ends, which is not always the same
as the request ending, especially in the case of Jakarta Servlet filters
that are invoked after the Faces lifecycle for this
request completes. Accessing this Map
does not cause any
events to fire, as is the case with the other maps: for request, session, and
application scope. When FacesContext.release()
is invoked, the attributes
must be cleared.
The Map
returned by this method is not associated with
the request. If you would like to get or set request attributes,
see ExternalContext.getRequestMap()
.
The default implementation throws
UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend
this class.
getAttributes
in class FacesContext
Map
representing the attributes associated wth this
FacesContext
instance.FacesContext.getAttributes()
public javax.el.ELContext getELContext()
FacesContext
Return the ELContext
instance for this
FacesContext
instance. This ELContext
instance has the same lifetime and scope as the
FacesContext
instance with which it is associated,
and may be created lazily the first time this method is called
for a given FacesContext
instance. Upon creation of
the ELContext instance, the implementation must take the
following action:
Call the ELContext.putContext(java.lang.Class<?>, java.lang.Object)
method on the
instance, passing in FacesContext.class
and the
this
reference for the FacesContext
instance itself.
If the Collection
returned by Application.getELContextListeners()
is
non-empty, create an instance of ELContextEvent
and pass it to each ELContextListener
instance in the
Collection
by calling the ELContextListener.contextCreated(javax.el.ELContextEvent)
method.
getELContext
in class FacesContext
ELContext
.FacesContext.getELContext()
public Iterator<String> getClientIdsWithMessages()
FacesContext
Return an Iterator
over the client identifiers for
which at least one FacesMessage
has been queued. If there are no
such client identifiers, an empty Iterator
is returned.
If any messages have been queued that were not associated with any
specific client identifier, a null
value will be included
in the iterated values. The elements in the Iterator
must
be returned in the order in which they were added with FacesContext.addMessage(java.lang.String, javax.faces.application.FacesMessage)
.
getClientIdsWithMessages
in class FacesContext
Iterator
over the client identifiers for
which at least one FacesMessage
has been queued.FacesContext.getClientIdsWithMessages()
public FacesMessage.Severity getMaximumSeverity()
FacesContext
Return the maximum severity level recorded on any
FacesMessage
s that has been queued, whether or not they are
associated with any specific UIComponent
. If no such messages
have been queued, return null
.
getMaximumSeverity
in class FacesContext
FacesContext.getMaximumSeverity()
public List<FacesMessage> getMessageList()
FacesContext
Like FacesContext.getMessages()
, but
returns a List<FacesMessage>
,
enabling use from Jakarta Expression Language expressions.
The default implementation throws
UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend
this class.
getMessageList
in class FacesContext
List
which is effectively a snapshot
of the messages present at the time of invocation.FacesContext.getMessageList()
public List<FacesMessage> getMessageList(String clientId)
FacesContext
Like FacesContext.getMessages(java.lang.String)
, but returns a
List<FacesMessage>
of messages for the
component with client id matching argument
clientId
.
The default implementation throws
UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend
this class.
getMessageList
in class FacesContext
clientId
- the client id of a component.List
which is effectively a snapshot
of the messages present at the time of invocation.FacesContext.getMessageList(String)
public Iterator<FacesMessage> getMessages()
FacesContext
Return an Iterator
over the FacesMessage
s
that have been queued, whether or not they are associated with any
specific client identifier. If no such messages have been queued,
return an empty Iterator
. The elements of the Iterator
must be returned in the order in which they were added with calls to FacesContext.addMessage(java.lang.String, javax.faces.application.FacesMessage)
.
getMessages
in class FacesContext
Iterator
over the FacesMessage
s
that have been queued.FacesContext.getMessages()
public Iterator<FacesMessage> getMessages(String clientId)
FacesContext
Return an Iterator
over the FacesMessage
s that
have been queued that are associated with the specified client identifier
(if clientId
is not null
), or over the
FacesMessage
s that have been queued that are not associated with
any specific client identifier (if clientId
is
null
). If no such messages have been queued, return an
empty Iterator
. The elements of the Iterator
must be returned in the order in which they were added with calls to FacesContext.addMessage(java.lang.String, javax.faces.application.FacesMessage)
.
getMessages
in class FacesContext
clientId
- The client identifier for which messages are
requested, or null
for messages not associated with
any client identifierIterator
over the FacesMessage
s.FacesContext.getMessages(String)
public RenderKit getRenderKit()
FacesContext
Return the RenderKit
instance for the render kit identifier
specified on our UIViewRoot
, if there is one. If there is no
current UIViewRoot
, if the UIViewRoot
does not have a
specified renderKitId
, or if there is no RenderKit
for the specified identifier, return null
instead.
getRenderKit
in class FacesContext
RenderKit
associated with the UIViewRoot
.FacesContext.getRenderKit()
public ResponseStream getResponseStream()
FacesContext
Return the ResponseStream
to which components should
direct their binary output. Within a given response, components
can use either the ResponseStream or the ResponseWriter,
but not both.
getResponseStream
in class FacesContext
ResponseStream
instance.FacesContext.getResponseStream()
public void setResponseStream(ResponseStream responseStream)
FacesContext
Set the ResponseStream
to which components should
direct their binary output.
setResponseStream
in class FacesContext
responseStream
- The new ResponseStream for this responseFacesContext.setResponseStream(javax.faces.context.ResponseStream)
public UIViewRoot getViewRoot()
FacesContext
Return the root component that is associated with the this request.
It is valid to call this method
during application startup or shutdown. If called during application
startup or shutdown, this method returns a new UIViewRoot
with
its locale set to Locale.getDefault()
.
getViewRoot
in class FacesContext
UIViewRoot
instance.FacesContext.getViewRoot()
public void setViewRoot(UIViewRoot root)
FacesContext
Set the root component that is associated with this request.
This method can be called by the application handler (or a class that the handler calls), during the Invoke Application phase of the request processing lifecycle and during the Restore View phase of the request processing lifecycle (especially when a new root component is created). In the present version of the specification, implementations are not required to enforce this restriction, though a future version of the specification may require enforcement.
If the current
UIViewRoot
is non-null
, and calling
equals()
on the argument root
, passing
the current UIViewRoot
returns false
,
the clear
method must be called on the
Map
returned from UIViewRoot.getViewMap()
.
setViewRoot
in class FacesContext
root
- The new component UIViewRoot
componentFacesContext.setViewRoot(javax.faces.component.UIViewRoot)
public ResponseWriter getResponseWriter()
FacesContext
Return the ResponseWriter
to which components should
direct their character-based output. Within a given response,
components can use either the ResponseStream or the ResponseWriter,
but not both.
getResponseWriter
in class FacesContext
ResponseWriter
instance.FacesContext.getResponseWriter()
public void setResponseWriter(ResponseWriter responseWriter)
FacesContext
Set the ResponseWriter
to which components should
direct their character-based output.
setResponseWriter
in class FacesContext
responseWriter
- The new ResponseWriter for this responseFacesContext.setResponseWriter(javax.faces.context.ResponseWriter)
public void addMessage(String clientId, FacesMessage message)
FacesContext
Append a FacesMessage
to the set of messages associated with
the specified client identifier, if clientId
is
not null
. If clientId
is null
,
this FacesMessage
is assumed to not be associated with any
specific component instance.
addMessage
in class FacesContext
clientId
- The client identifier with which this message is
associated (if any)message
- The message to be appendedFacesContext.addMessage(String, javax.faces.application.FacesMessage)
public PhaseId getCurrentPhaseId()
FacesContext
Return the value last set on this
FacesContext
instance when FacesContext.setCurrentPhaseId(javax.faces.event.PhaseId)
was called.
getCurrentPhaseId
in class FacesContext
FacesContext.getCurrentPhaseId()
public void setCurrentPhaseId(PhaseId currentPhaseId)
FacesContext
The implementation must call this method at the earliest possble point in time after entering into a new phase in the request processing lifecycle.
setCurrentPhaseId
in class FacesContext
currentPhaseId
- The PhaseId
for the
current phase.FacesContext.setCurrentPhaseId(javax.faces.event.PhaseId)
public void release()
FacesContext
Release any
resources associated with this FacesContext
instance. Faces implementations may choose to pool instances in
the associated FacesContextFactory
to avoid repeated
object creation and garbage collection. After
release()
is called on a FacesContext
instance (until the FacesContext
instance has been
recycled by the implementation for re-use), calling any other
methods will cause an IllegalStateException
to be
thrown.
If a call was made to FacesContext.getAttributes()
during the processing for this request, the
implementation must call clear()
on the
Map
returned from getAttributes()
, and
then de-allocate the data-structure behind that
Map
.
The implementation must call FacesContext.setCurrentInstance(javax.faces.context.FacesContext)
passing null
to remove the association between this
thread and this dead FacesContext
instance.
release
in class FacesContext
FacesContext.release()
public void renderResponse()
FacesContext
Signal the Jakarta Server Faces implementation that, as soon as the current phase of the request processing lifecycle has been completed, control should be passed to the Render Response phase, bypassing any phases that have not been executed yet.
renderResponse
in class FacesContext
FacesContext.renderResponse()
public void responseComplete()
FacesContext
Signal the Jakarta Server Faces implementation that the HTTP response for this request has already been generated (such as an HTTP redirect), and that the request processing lifecycle should be terminated as soon as the current phase is completed.
responseComplete
in class FacesContext
FacesContext.responseComplete()
public void validationFailed()
FacesContext
Sets a flag which indicates that a conversion or
validation error occurred while processing the inputs. Inputs consist of
either page parameters or form bindings. This flag can be read using
FacesContext.isValidationFailed()
.
validationFailed
in class FacesContext
FacesContext.validationFailed()
public boolean getRenderResponse()
FacesContext
Return true
if the renderResponse()
method has been called for the current request.
getRenderResponse
in class FacesContext
renderResponse()
has been called.FacesContext.getRenderResponse()
public List<String> getResourceLibraryContracts()
FacesContext
Return the list of resource library contracts that have been calculated to be appropriate for use with this view, or an empty list if there are no such resource library contracts. The list returned by this method must be immutable. For backward compatibility with implementations of the specification prior to when this method was introduced, an implementation is provided that returns an empty list. Implementations compliant with the version in which this method was introduced must implement this method as specified.
getResourceLibraryContracts
in class FacesContext
public void setResourceLibraryContracts(List<String> contracts)
FacesContext
Set the resource library contracts
calculated as valid to use with this view. The implementation must
copy the contents of the incoming List
into an immutable
List
for return from FacesContext.getResourceLibraryContracts()
.
If the argument is null
or empty, the action taken is the same as if
the argument is null
: a subsequent call to getResourceLibraryContracts
returns null
. This method may only be called during the
processing of ViewDeclarationLanguage.createView(javax.faces.context.FacesContext, java.lang.String)
and during the VDL tag handler for the tag corresponding to
an instance of UIViewRoot
. For backward compatibility with implementations
of the specification prior to when this method was introduced, an
implementation is provided that takes no action. Implementations
compliant with the version in which this method was introduced must
implement this method as specified.
setResourceLibraryContracts
in class FacesContext
contracts
- The new contracts to be returned, as an immutable
List
. from a subsequent call to FacesContext.getResourceLibraryContracts()
.public boolean getResponseComplete()
FacesContext
Return true
if the responseComplete()
method has been called for the current request.
getResponseComplete
in class FacesContext
responseComplete()
method has been called.FacesContext.getResponseComplete()
public boolean isValidationFailed()
FacesContext
Return true
if the validationFailed()
method has been called for the current request.
isValidationFailed
in class FacesContext
validationFailed()
method has been called for the current requestFacesContext.isValidationFailed()
public static FacesContext getDefaultFacesContext()
Comments to: faces-dev@eclipse.org.
Copyright © 2019 Eclipse Foundation. All rights reserved.
Use is subject to license terms.