public class ApplicationImpl extends Application
Application represents a per-web-application singleton object where applications based on JavaServer Faces (or implementations wishing to provide extended functionality) can register application-wide singletons that provide functionality required by JavaServer Faces.
Modifier and Type | Field and Description |
---|---|
static String |
THIS_LIBRARY |
Constructor and Description |
---|
ApplicationImpl()
Constructor
|
Modifier and Type | Method and Description |
---|---|
void |
addBehavior(String behaviorId,
String behaviorClass)
Register a new mapping of behavior id to the name of
the corresponding
Behavior class. |
void |
addComponent(String componentType,
String componentClass)
Register a new mapping of component type to the name of the corresponding
UIComponent
class. |
void |
addConverter(Class<?> targetClass,
String converterClass)
Register a new converter class that is capable of performing conversions for the specified
target class.
|
void |
addConverter(String converterId,
String converterClass)
Register a new mapping of converter id to the name of the corresponding
Converter
class. |
void |
addDefaultValidatorId(String validatorId)
Register a validator by its id that is applied to all |
void |
addELContextListener(javax.el.ELContextListener listener)
Provide a way for Faces applications to register an
ELContextListener that will
be notified on creation of ELContext instances. |
void |
addELResolver(javax.el.ELResolver resolver)
Cause an the argument
resolver
to be added to the resolver chain as specified in section JSF.5.5.1 of the Jakarta Server Faces
Specification. |
void |
addSearchKeywordResolver(SearchKeywordResolver resolver)
Cause the argument |
void |
addValidator(String validatorId,
String validatorClass)
Register a new mapping of validator id to the name of the corresponding
Validator
class. |
Behavior |
createBehavior(String behaviorId)
Instantiate and return a new
Behavior instance
of the class specified by a previous call to addBehavior() for the specified
behavior id. |
UIComponent |
createComponent(FacesContext context,
Resource componentResource)
Instantiate and return a new
|
UIComponent |
createComponent(FacesContext context,
String componentType,
String rendererType)
Like |
UIComponent |
createComponent(String componentType)
Instantiate and return a new
UIComponent
instance of the class specified by a previous call to addComponent() for the
specified component type. |
UIComponent |
createComponent(ValueBinding componentBinding,
FacesContext context,
String componentType)
Wrap the argument
componentBinding in an implementation of
ValueExpression and call through to
Application.createComponent(javax.el.ValueExpression,javax.faces.context.FacesContext,java.lang.String) . |
UIComponent |
createComponent(javax.el.ValueExpression componentExpression,
FacesContext context,
String componentType)
Call the
getValue() method on the
specified ValueExpression . |
UIComponent |
createComponent(javax.el.ValueExpression componentExpression,
FacesContext context,
String componentType,
String rendererType)
Like |
Converter<?> |
createConverter(Class<?> targetClass)
Instantiate and return a new
Converter
instance of the class that has registered itself as capable of performing conversions for
objects of the specified type. |
Converter<?> |
createConverter(String converterId)
Instantiate and return a new
Converter
instance of the class specified by a previous call to addConverter() for the
specified converter id. |
MethodBinding |
createMethodBinding(String ref,
Class<?>[] params)
Deprecated.
|
Validator<?> |
createValidator(String validatorId)
Instantiate and return a new
Validator
instance of the class specified by a previous call to addValidator() for the
specified validator id. |
ValueBinding |
createValueBinding(String ref)
Deprecated.
|
<T> T |
evaluateExpressionGet(FacesContext context,
String expression,
Class<? extends T> expectedType)
Get a value by evaluating an expression.
|
ActionListener |
getActionListener()
Return the default
ActionListener to be
registered for all ActionSource components in this application. |
javax.el.CompositeELResolver |
getApplicationELResolvers() |
Iterator<String> |
getBehaviorIds()
Return an
Iterator over the set of currently registered behavior ids for this
Application . |
Iterator<String> |
getComponentTypes()
Return an
Iterator over the set of currently defined component types for this
Application . |
FacesCompositeELResolver |
getCompositeELResolver() |
Iterator<String> |
getConverterIds()
Return an
Iterator over the set of currently registered converter ids for this
Application . |
Iterator<Class<?>> |
getConverterTypes()
Return an
Iterator over the set of Class instances for which
Converter classes have been explicitly registered. |
Locale |
getDefaultLocale()
Return the default
Locale for this application. |
String |
getDefaultRenderKitId()
Return the
renderKitId to be used for rendering this application. |
Map<String,String> |
getDefaultValidatorInfo()
Return an immutable |
javax.el.ELContextListener[] |
getELContextListeners()
If no calls have been made to
Application.addELContextListener(javax.el.ELContextListener) , this method must return an empty
array. |
javax.el.ELResolver |
getELResolver()
Return the singleton
ELResolver instance to be used for all Jakarta Expression Language resolution. |
javax.el.ExpressionFactory |
getExpressionFactory()
Return the
ExpressionFactory instance for this application. |
FlowHandler |
getFlowHandler()
Return the thread-safe singleton |
String |
getMessageBundle()
Return the fully qualified class name of the
ResourceBundle to be used for
Jakarta Server Faces messages for this application. |
NavigationHandler |
getNavigationHandler()
Return the
NavigationHandler instance that will be passed the outcome returned by any
invoked application action for this web application. |
ProjectStage |
getProjectStage()
Return the project stage for the currently running application instance. |
PropertyResolver |
getPropertyResolver()
Deprecated.
|
ResourceBundle |
getResourceBundle(FacesContext context,
String var)
Find a
ResourceBundle as defined in the application configuration resources
under the specified name. |
ResourceHandler |
getResourceHandler()
Return the singleton, stateless, thread-safe |
SearchExpressionHandler |
getSearchExpressionHandler()
Return the thread-safe singleton |
SearchKeywordResolver |
getSearchKeywordResolver()
Return the singleton |
StateManager |
getStateManager()
Return the
StateManager instance that will be utilized during the Restore
View and Render Response phases of the request processing lifecycle. |
Iterator<Locale> |
getSupportedLocales()
Return an
Iterator over the supported Locale s for this appication. |
Iterator<String> |
getValidatorIds()
Return an
Iterator over the set of currently registered validator ids for this
Application . |
VariableResolver |
getVariableResolver()
Deprecated.
|
ViewHandler |
getViewHandler()
Return the
ViewHandler instance that will be utilized during the Restore
View and Render Response phases of the request processing lifecycle. |
void |
publishEvent(FacesContext context,
Class<? extends SystemEvent> systemEventClass,
Class<?> sourceBaseType,
Object source)
This method functions exactly like |
void |
publishEvent(FacesContext context,
Class<? extends SystemEvent> systemEventClass,
Object source)
If |
void |
removeELContextListener(javax.el.ELContextListener listener)
Remove the argument
listener from the list of ELContextListener s. |
void |
setActionListener(ActionListener actionListener)
Set the default
ActionListener to be registered for all
ActionSource components. |
void |
setCompositeELResolver(FacesCompositeELResolver compositeELResolver) |
void |
setDefaultLocale(Locale locale)
Set the default
Locale for this application. |
void |
setDefaultRenderKitId(String renderKitId)
Set the
renderKitId to be used to render this application. |
void |
setFlowHandler(FlowHandler flowHandler)
Set the |
void |
setMessageBundle(String messageBundle)
Set the fully qualified class name of the
ResourceBundle to be used for
Jakarta Server Faces messages for this application. |
void |
setNavigationHandler(NavigationHandler navigationHandler)
Set the
NavigationHandler instance that will be passed the outcome returned by any
invoked application action for this web application. |
void |
setPropertyResolver(PropertyResolver resolver)
Deprecated.
|
void |
setResourceHandler(ResourceHandler resourceHandler)
Set the |
void |
setSearchExpressionHandler(SearchExpressionHandler searchExpressionHandler)
Set the |
void |
setStateManager(StateManager stateManager)
Set the
StateManager instance that will be utilized during the Restore View
and Render Response phases of the request processing lifecycle. |
void |
setSupportedLocales(Collection<Locale> newLocales)
Set the
Locale instances representing the supported Locale s for
this application. |
void |
setVariableResolver(VariableResolver resolver)
Deprecated.
|
void |
setViewHandler(ViewHandler viewHandler)
Set the
ViewHandler instance that will be utilized during the Restore View
and Render Response phases of the request processing lifecycle. |
void |
subscribeToEvent(Class<? extends SystemEvent> systemEventClass,
Class<?> sourceClass,
SystemEventListener listener)
Install the listener instance referenced by
argument |
void |
subscribeToEvent(Class<? extends SystemEvent> systemEventClass,
SystemEventListener listener)
Install the listener instance referenced by
argument |
void |
unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass,
Class<?> sourceClass,
SystemEventListener listener)
Remove the listener instance referenced by argument
|
void |
unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass,
SystemEventListener listener)
Remove the listener instance referenced by argument
|
public static final String THIS_LIBRARY
public void publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Object source)
Application
If FacesContext.isProcessingEvents()
is true
and
there are one or more listeners for events of the type represented by
systemEventClass
, call those listeners, passing source
as the
source of the event. The implementation should be as fast as possible in determining whether
or not a listener for the given systemEventClass
and source
has
been installed, and should return immediately once such a determination has been made. The
implementation of publishEvent
must honor the requirements stated in
Application.subscribeToEvent(java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Class<?>, javax.faces.event.SystemEventListener)
regarding the storage and retrieval of listener instances.
Specifically, if Application.subscribeToEvent(Class,Class,SystemEventListener)
was called, the
sourceClass
argument must match exactly the Class
of the
source
argument in the call to publishEvent()
. The implementation
must not do any inheritance hierarachy inspection when looking for a match between the
sourceClass
passed to Application.subscribeToEvent(Class,Class,SystemEventListener)
and the sourceClass
passed to publishEvent()
in order to find any
listeners to which the event should be published. In the case where the Class
of
the source
argument does not match the Class
of the
sourceClass
used when the listener was subscribed using
subscribeToEvent()
, Application.publishEvent(FacesContext,Class,Class,Object)
can
be used to provide the Class
used to perform the listener lookup and match.
The default implementation must implement an algorithm semantically equivalent to the following to locate listener instances and to invoke them.
If the source
argument implements
SystemEventListenerHolder
, call
SystemEventListenerHolder.getListenersForEventClass(java.lang.Class<? extends javax.faces.event.SystemEvent>)
on it, passing
the systemEventClass
argument. If the list is not empty, perform algorithm
traverseListenerList on the list.
If any view level listeners have been installed by previous calls to
Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)
on the
UIViewRoot
, perform algorithm traverseListenerList on
the list of listeners for that event installed on the UIViewRoot
.
If any Application
level listeners have been installed by previous calls to
Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)
, perform
algorithm traverseListenerList on the list.
If any Application
level listeners have been installed by previous calls to
Application.subscribeToEvent(Class, javax.faces.event.SystemEventListener)
, perform algorithm
traverseListenerList on the list.
If the act of invoking the processListener
method causes an
AbortProcessingException
to be thrown, processing of the listeners
must be aborted, no further processing of the listeners for this event must take place, and
the exception must be logged with Level.SEVERE
.
Algorithm traverseListenerList: For each listener in the list,
Call SystemEventListener.isListenerForSource(java.lang.Object)
, passing the
source
argument. If this returns false
, take no action on the
listener.
Otherwise, if the event to be passed to the listener instances has not yet been constructed,
construct the event, passing source
as the argument to the one-argument
constructor that takes an Object
. This same event instance must be passed to all
listener instances.
Call SystemEvent.isAppropriateListener(javax.faces.event.FacesListener)
, passing the listener
instance as the argument. If this returns false
, take no action on the listener.
Call SystemEvent.processListener(javax.faces.event.FacesListener)
, passing the listener instance.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
publishEvent
in class Application
context
- the FacesContext
for the current requestsystemEventClass
- The Class
of event that is being published.source
- The source for the event of type systemEventClass
.Application.publishEvent(FacesContext, Class, Object)
public void publishEvent(FacesContext context, Class<? extends SystemEvent> systemEventClass, Class<?> sourceBaseType, Object source)
Application
This method functions exactly like Application.publishEvent(FacesContext,Class,Object)
, except
the run-time must use the argument sourceBaseType
to find the matching listener
instead of using the Class
of the source
argument.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
publishEvent
in class Application
context
- the FacesContext
for the current requestsystemEventClass
- The Class
of event that is being published.sourceBaseType
- The Class
of the source event that must be used to lookup
the listener to which this event must be published. If this argument is
null
the return from source.getClass()
must be used as
the sourceBaseType
.source
- The source for the event of type systemEventClass
.Application.publishEvent(FacesContext, Class, Object)
public void subscribeToEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)
Application
Install the listener instance referenced by
argument listener
into application as a listener for events of type
systemEventClass
. The default implementation simply calls through to
Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)
passing
null
as the sourceClass
argument
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
subscribeToEvent
in class Application
systemEventClass
- the Class
of event for which listener
must
be fired.listener
- the implementation of SystemEventListener
whose
SystemEventListener.processEvent(javax.faces.event.SystemEvent)
method must be called
when events of type systemEventClass
are fired.
See
Application.subscribeToEvent(java.lang.Class,java.lang.Class,javax.faces.event.SystemEventListener)
for an additional requirement regarding when it is valid to call this method.
Application.subscribeToEvent(Class, javax.faces.event.SystemEventListener)
public void subscribeToEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)
Application
Install the listener instance referenced by
argument listener
into the application as a listener for events of type
systemEventClass
that originate from objects of type sourceClass
.
If argument sourceClass
is non-null
, sourceClass
and
systemEventClass
must be used to store the argument listener
in the
application in such a way that the listener
can be quickly looked up by the
implementation of Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)
given systemEventClass
and an instance
of the Class
referenced by sourceClass
. If argument
sourceClass
is null
, the listener
must be discoverable
by the implementation of Application.publishEvent(javax.faces.context.FacesContext, java.lang.Class<? extends javax.faces.event.SystemEvent>, java.lang.Object)
given only systemEventClass
.
It is valid to call this method during the processing of an event which was subscribed to by a previous call to this method.
subscribeToEvent
in class Application
systemEventClass
- the Class
of event for which listener
must
be fired.sourceClass
- the Class
of the instance which causes events of type
systemEventClass
to be fired. May be null
.listener
- the implementation of SystemEventListener
whose
SystemEventListener.processEvent(javax.faces.event.SystemEvent)
method must be called
when events of type systemEventClass
are fired.Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)
public void unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, SystemEventListener listener)
Application
Remove the listener instance referenced by argument
listener
from the application as a listener for events of type
systemEventClass
. The default implementation simply calls through to
Application.unsubscribeFromEvent(Class, javax.faces.event.SystemEventListener)
passing
null
as the sourceClass
argument
See
Application.subscribeToEvent(java.lang.Class,java.lang.Class,javax.faces.event.SystemEventListener)
for an additional requirement regarding when it is valid to call this method.
unsubscribeFromEvent
in class Application
systemEventClass
- the Class
of event for which listener
must
be fired.listener
- the implementation of SystemEventListener
to remove
from the internal data structure.Application.unsubscribeFromEvent(Class, javax.faces.event.SystemEventListener)
public void unsubscribeFromEvent(Class<? extends SystemEvent> systemEventClass, Class<?> sourceClass, SystemEventListener listener)
Application
Remove the listener instance referenced by argument
listener
from the application as a listener for events of type
systemEventClass
that originate from objects of type sourceClass
.
See Application.subscribeToEvent(Class, Class, javax.faces.event.SystemEventListener)
for the
specification of how the listener is stored, and therefore, how it must be removed.
See
Application.subscribeToEvent(java.lang.Class,java.lang.Class,javax.faces.event.SystemEventListener)
for an additional requirement regarding when it is valid to call this method.
unsubscribeFromEvent
in class Application
systemEventClass
- the Class
of event for which listener
must
be fired.sourceClass
- the Class
of the instance which causes events of type
systemEventClass
to be fired. May be null
.listener
- the implementation of SystemEventListener
to remove
from the internal data structure.Application.unsubscribeFromEvent(Class, Class, javax.faces.event.SystemEventListener)
public void addELContextListener(javax.el.ELContextListener listener)
Application
Provide a way for Faces applications to register an ELContextListener
that will
be notified on creation of ELContext
instances. This listener will be called
once per request.
An implementation is provided that throws UnsupportedOperationException
so that
users that decorate the Application
continue to work.
addELContextListener
in class Application
listener
- the Jakarta Expression Language context listener to add.Application.addELContextListener(javax.el.ELContextListener)
public void removeELContextListener(javax.el.ELContextListener listener)
Application
Remove the argument listener
from the list of ELContextListener
s. If
listener
is null, no exception is thrown and no action is performed. If
listener
is not in the list, no exception is thrown and no action is performed.
An implementation is provided that throws UnsupportedOperationException
so that
users that decorate the Application
continue to work.
removeELContextListener
in class Application
listener
- the Jakarta Expression Language context listener to remove.Application.removeELContextListener(javax.el.ELContextListener)
public javax.el.ELContextListener[] getELContextListeners()
Application
If no calls have been made to Application.addELContextListener(javax.el.ELContextListener)
, this method must return an empty
array.
Otherwise, return an array representing the list of listeners added by calls to
Application.addELContextListener(javax.el.ELContextListener)
.
An implementation is provided that throws UnsupportedOperationException
so that
users that decorate the Application
continue to work.
getELContextListeners
in class Application
Application.getELContextListeners()
public javax.el.ExpressionFactory getExpressionFactory()
Application
Return the ExpressionFactory
instance for this application. This instance is used by
the convenience method Application.evaluateExpressionGet(javax.faces.context.FacesContext, java.lang.String, java.lang.Class<? extends T>)
.
The implementation must return the ExpressionFactory
from the Jakarta Server Pages container by
calling
JspFactory.getDefaultFactory().getJspApplicationContext(servletContext).getExpressionFactory()
.
An implementation is provided that throws UnsupportedOperationException
so that
users that decorate the Application
continue to work.
getExpressionFactory
in class Application
Application.getExpressionFactory()
public <T> T evaluateExpressionGet(FacesContext context, String expression, Class<? extends T> expectedType) throws javax.el.ELException
Application
Get a value by evaluating an expression.
Call Application.getExpressionFactory()
then call ExpressionFactory.createValueExpression(javax.el.ELContext, java.lang.String, java.lang.Class<?>)
passing the argument expression
and expectedType
. Call
FacesContext.getELContext()
and pass it to ValueExpression.getValue(javax.el.ELContext)
, returning
the result.
An implementation is provided that throws UnsupportedOperationException
so that
users that decorate the Application
continue to work.
evaluateExpressionGet
in class Application
T
- the return type.context
- the Faces context.expression
- the expression.expectedType
- the expected type.javax.el.ELException
Application.evaluateExpressionGet(javax.faces.context.FacesContext,
String, Class)
public javax.el.ELResolver getELResolver()
Application
Return the singleton ELResolver
instance to be used for all Jakarta Expression Language resolution. This is
actually an instance of CompositeELResolver
that must contain the following
ELResolver
instances in the following order:
ELResolver
instances declared using the <el-resolver> element in the
application configuration resources.
An implementation
that wraps the head of the legacy
VariableResolver
chain, as per section VariableResolver ChainWrapper in
Chapter JSF.5 in the spec document.
An implementation
that wraps the head of the legacy
PropertyResolver
chain, as per section PropertyResolver ChainWrapper in
Chapter JSF.5 in the spec document.
Any ELResolver
instances added by calls to Application.addELResolver(javax.el.ELResolver)
.
The default implementation throws UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend Application
.
getELResolver
in class Application
Application.getELResolver()
public void addELResolver(javax.el.ELResolver resolver)
Application
Cause an the argument resolver
to be added to the resolver chain as specified in section JSF.5.5.1 of the Jakarta Server Faces
Specification.
It is not possible to remove an ELResolver
registered with this method, once it
has been registered.
It is illegal to register an ELResolver
after the application has received any
requests from the client. If an attempt is made to register a listener after that time, an
IllegalStateException
must be thrown. This restriction is in place to allow the
Jakarta Server Pages container to optimize for the common case where no additional ELResolver
s
are in the chain, aside from the standard ones. It is permissible to add
ELResolver
s before or after initialization to a CompositeELResolver
that is already in the chain.
The default implementation throws UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend Application
.
addELResolver
in class Application
resolver
- the Jakarta Expression Language resolver to add.Application.addELResolver(javax.el.ELResolver)
public javax.el.CompositeELResolver getApplicationELResolvers()
public FacesCompositeELResolver getCompositeELResolver()
public void setCompositeELResolver(FacesCompositeELResolver compositeELResolver)
public ViewHandler getViewHandler()
Application
Return the ViewHandler
instance that will be utilized during the Restore
View and Render Response phases of the request processing lifecycle. If not
explicitly set, a default implementation must be provided that performs the functions
described in the ViewHandler
description in the JJakarta Server Faces Specification.
getViewHandler
in class Application
Application.getViewHandler()
public void setViewHandler(ViewHandler viewHandler)
Application
Set the ViewHandler
instance that will be utilized during the Restore View
and Render Response phases of the request processing lifecycle.
setViewHandler
in class Application
viewHandler
- The new ViewHandler
instanceApplication.setViewHandler(javax.faces.application.ViewHandler)
public ResourceHandler getResourceHandler()
Application
Return the singleton, stateless, thread-safe ResourceHandler
for this application.
The Jakarta Server Faces implementation must support the following techniques for declaring an alternate
implementation of ResourceHandler
.
The ResourceHandler
implementation is declared in the application configuration
resources by giving the fully qualified class name as the value of the
<resource-handler>
element within the <application>
element.
In all of the above cases, the runtime must employ the decorator pattern as for every other pluggable artifact in Jakarta Server Faces.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
getResourceHandler
in class Application
Application.getResourceHandler()
public void setResourceHandler(ResourceHandler resourceHandler)
Application
Set the ResourceHandler
instance that will be utilized for rendering the markup for
resources, and for satisfying client requests to serve up resources.
setResourceHandler
in class Application
resourceHandler
- The new ResourceHandler
instanceApplication.setResourceHandler(javax.faces.application.ResourceHandler)
public StateManager getStateManager()
Application
Return the StateManager
instance that will be utilized during the Restore
View and Render Response phases of the request processing lifecycle. If not
explicitly set, a default implementation must be provided that performs the functions
described in the StateManager
description in the Jakarta Server Faces Specification.
getStateManager
in class Application
Application.getStateManager()
public void setStateManager(StateManager stateManager)
Application
Set the StateManager
instance that will be utilized during the Restore View
and Render Response phases of the request processing lifecycle.
setStateManager
in class Application
stateManager
- The new StateManager
instanceApplication.setStateManager(javax.faces.application.StateManager)
public ActionListener getActionListener()
Application
Return the default ActionListener
to be
registered for all ActionSource
components in this application.
If not explicitly set, a default implementation must be provided that performs the
functions as specified in the section titled
"ActionListener Property" in the chapter titled "Application Integration" of the spec prose
document.
Note that the specification for the default ActionListener
contiues to call for
the use of a deprecated property (action
) and class
(MethodBinding
). Unfortunately, this is necessary because the default
ActionListener
must continue to work with components that do not implement
ActionSource2
, and only implement
ActionSource
.
getActionListener
in class Application
Application.getActionListener()
public void setActionListener(ActionListener actionListener)
Application
Set the default ActionListener
to be registered for all
ActionSource
components.
setActionListener
in class Application
actionListener
- The new default ActionListener
Application.setActionListener(javax.faces.event.ActionListener)
public NavigationHandler getNavigationHandler()
Application
Return the NavigationHandler
instance that will be passed the outcome returned by any
invoked application action for this web application. If not explicitly set, a default
implementation must be provided that performs the functions described in the
NavigationHandler
class description.
NavigationHandler
implementation is declared in the application
configuration resources by giving the fully qualified class name as the value of the
<navigation-handler>
element within the <application>
element.The runtime must employ the decorator pattern as for every other pluggable artifact in Jakarta Server Faces.
getNavigationHandler
in class Application
Application.getNavigationHandler()
public void setNavigationHandler(NavigationHandler navigationHandler)
Application
Set the NavigationHandler
instance that will be passed the outcome returned by any
invoked application action for this web application.
setNavigationHandler
in class Application
navigationHandler
- The new NavigationHandler
instanceApplication.setNavigationHandler(javax.faces.application.NavigationHandler)
public FlowHandler getFlowHandler()
Application
Return the thread-safe singleton FlowHandler
for this application. For
implementations declaring compliance with version 2.2 of the specification, this method must
never return null
, even if the application has no flows. This is necessary to enable
dynamic flow creation during the application's lifetime.
All implementations that declare compliance with version 2.2 of the specification must
implement this method. For the purpose of backward compatibility with environments that
extend Application
but do not override this method, an implementation is provided that returns
null
. Due to the decoratable nature of Application
, code calling this method
should always check for a null
return.
getFlowHandler
in class Application
public void setFlowHandler(FlowHandler flowHandler)
Application
Set the FlowHandler
instance used by the NavigationHandler
to satisfy the
requirements of the faces flows feature.
setFlowHandler
in class Application
flowHandler
- the flow handler to set.public Iterator<Locale> getSupportedLocales()
Application
Return an Iterator
over the supported Locale
s for this appication.
getSupportedLocales
in class Application
Application.getSupportedLocales()
public void setSupportedLocales(Collection<Locale> newLocales)
Application
Set the Locale
instances representing the supported Locale
s for
this application.
setSupportedLocales
in class Application
newLocales
- The set of supported Locale
s for this applicationApplication.setSupportedLocales(java.util.Collection)
public Locale getDefaultLocale()
Application
Return the default Locale
for this application. If not explicitly set,
null
is returned.
getDefaultLocale
in class Application
null
.Application.getDefaultLocale()
public void setDefaultLocale(Locale locale)
Application
Set the default Locale
for this application.
setDefaultLocale
in class Application
locale
- The new default Locale
Application.setDefaultLocale(java.util.Locale)
public void setMessageBundle(String messageBundle)
Application
Set the fully qualified class name of the ResourceBundle
to be used for
Jakarta Server Faces messages for this application. See the JavaDocs for the
java.util.ResourceBundle
class for more information about the syntax for
resource bundle names.
setMessageBundle
in class Application
messageBundle
- Base name of the resource bundle to be usedApplication.setMessageBundle(String)
public String getMessageBundle()
Application
Return the fully qualified class name of the ResourceBundle
to be used for
Jakarta Server Faces messages for this application. If not explicitly set, null
is
returned.
getMessageBundle
in class Application
null
.Application.getMessageBundle()
public String getDefaultRenderKitId()
Application
Return the renderKitId
to be used for rendering this application. If not
explicitly set, null
is returned.
getDefaultRenderKitId
in class Application
null
.Application.getDefaultRenderKitId()
public void setDefaultRenderKitId(String renderKitId)
Application
Set the renderKitId
to be used to render this application. Unless the client has
provided a custom ViewHandler
that supports the use of multiple
RenderKit
instances in the same application, this method must only
be called at application startup, before any Faces requests have been processed. This is a
limitation of the current Specification, and may be lifted in a future release.
setDefaultRenderKitId
in class Application
renderKitId
- the render kit id to set.Application.setDefaultRenderKitId(String)
public ResourceBundle getResourceBundle(FacesContext context, String var)
Application
Find a ResourceBundle
as defined in the application configuration resources
under the specified name. If a ResourceBundle
was defined for the name, return
an instance that uses the locale of the current UIViewRoot
.
The default implementation throws UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend this class.
getResourceBundle
in class Application
context
- the Faces context.var
- the name of the resource bundle.Application.getResourceBundle(javax.faces.context.FacesContext,
String)
public void addBehavior(String behaviorId, String behaviorClass)
Application
Register a new mapping of behavior id to the name of
the corresponding Behavior
class. This allows subsequent calls to
createBehavior()
to serve as a factory for Behavior
instances.
addBehavior
in class Application
behaviorId
- The behavior id to be registeredbehaviorClass
- The fully qualified class name of the corresponding Behavior
implementationApplication.addBehavior(String, String)
public Behavior createBehavior(String behaviorId) throws FacesException
Application
Instantiate and return a new Behavior
instance
of the class specified by a previous call to addBehavior()
for the specified
behavior id.
createBehavior
in class Application
behaviorId
- The behavior id for which to create and return a new Behavior
instanceFacesException
- if the Behavior
cannot be createdApplication.createBehavior(String)
public Iterator<String> getBehaviorIds()
Application
Return an Iterator
over the set of currently registered behavior ids for this
Application
.
getBehaviorIds
in class Application
Application.getBehaviorIds()
public UIComponent createComponent(String componentType) throws FacesException
Application
Instantiate and return a new UIComponent
instance of the class specified by a previous call to addComponent()
for the
specified component type.
Before the component instance is returned, it must be inspected for the presence of a
ListenerFor
(or ListenersFor
) or
ResourceDependency
(or ResourceDependencies
) annotation. If any of these
annotations are present, the action listed in ListenerFor
or
ResourceDependency
must be taken on the component, before it is returned from this
method. This variant of createComponent
must not inspect the
Renderer
for the component to be returned for any of the afore
mentioned annotations. Such inspection is the province of
Application.createComponent(ValueExpression, FacesContext, String, String)
or
Application.createComponent(FacesContext, String, String)
.
createComponent
in class Application
componentType
- The component type for which to create and return a new
UIComponent
instanceFacesException
- if a UIComponent
of the specified type cannot be createdpublic void addComponent(String componentType, String componentClass)
Application
Register a new mapping of component type to the name of the corresponding UIComponent
class. This allows subsequent calls to createComponent()
to serve as a factory
for UIComponent
instances.
addComponent
in class Application
componentType
- The component type to be registeredcomponentClass
- The fully qualified class name of the corresponding UIComponent
implementationApplication.addComponent(java.lang.String, java.lang.String)
public UIComponent createComponent(javax.el.ValueExpression componentExpression, FacesContext context, String componentType) throws FacesException
Application
Call the getValue()
method on the
specified ValueExpression
. If it returns a UIComponent
instance, return it as
the value of this method. If it does not, instantiate a new UIComponent
instance of
the specified component type, pass the new component to the setValue()
method of
the specified ValueExpression
, and return it.
Before the component instance is returned, it must be inspected for the presence of a
ListenerFor
(or ListenersFor
) or
ResourceDependency
(or ResourceDependencies
) annotation. If any of these
annotations are present, the action listed in ListenerFor
or
ResourceDependency
must be taken on the component, before it is returned from this
method. This variant of createComponent
must not inspect the
Renderer
for the component to be returned for any of the afore
mentioned annotations. Such inspection is the province of
Application.createComponent(ValueExpression, FacesContext, String, String)
or
Application.createComponent(FacesContext, String, String)
.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function.
createComponent
in class Application
componentExpression
- ValueExpression
representing a component value expression
(typically specified by the component
attribute of a custom tag)context
- FacesContext
for the current requestcomponentType
- Component type to create if the ValueExpression
does not return
a component instanceFacesException
- if a UIComponent
cannot be createdpublic UIComponent createComponent(javax.el.ValueExpression componentExpression, FacesContext context, String componentType, String rendererType)
Application
Like Application.createComponent(ValueExpression, FacesContext, String)
except the
Renderer
for the component to be returned must be inspected for the annotations
mentioned in Application.createComponent(ValueExpression, FacesContext, String)
as specified in
the documentation for that method. The Renderer
instance to inspect must be
obtained by calling FacesContext.getRenderKit()
and calling
RenderKit.getRenderer(java.lang.String, java.lang.String)
on the result, passing the argument
componentType
as the first argument and the result of calling
UIComponent.getFamily()
on the newly created component as the second argument. If no
such Renderer
can be found, a message must be logged with a helpful error
message. Otherwise, UIComponent.setRendererType(java.lang.String)
must be called on the newly created
UIComponent
instance, passing the argument rendererType
as the
argument.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function.
createComponent
in class Application
componentExpression
- ValueExpression
representing a component value expression
(typically specified by the component
attribute of a custom tag)context
- FacesContext
for the current requestcomponentType
- Component type to create if the ValueExpression
does not return
a component instancerendererType
- The renderer-type of the Renderer
that will render this
component. A null
value must be accepted for this parameter.public UIComponent createComponent(FacesContext context, String componentType, String rendererType)
Application
Like Application.createComponent(String)
except the Renderer
for the component to
be returned must be inspected for the annotations mentioned in
Application.createComponent(ValueExpression, FacesContext, String)
as specified in the
documentation for that method. The Renderer
instance to inspect must be obtained
by calling FacesContext.getRenderKit()
and calling
RenderKit.getRenderer(java.lang.String, java.lang.String)
on the result, passing the argument
componentType
as the first argument and the result of calling
UIComponent.getFamily()
on the newly created component as the second argument. If no
such Renderer
can be found, a message must be logged with a helpful error
message. Otherwise, UIComponent.setRendererType(java.lang.String)
must be called on the newly created
UIComponent
instance, passing the argument rendererType
as the
argument.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
createComponent
in class Application
context
- FacesContext
for the current requestcomponentType
- Component type to createrendererType
- The renderer-type of the Renderer
that will render this
component. A null
value must be accepted for this parameter.public UIComponent createComponent(FacesContext context, Resource componentResource) throws FacesException
Application
Instantiate and return a new
UIComponent
instance from the argument Resource
. An algorithm semantically
equivalent to the following must be followed to instantiate the UIComponent
to
return.
Obtain a reference to the ViewDeclarationLanguage
for this Application
instance by calling ViewHandler.getViewDeclarationLanguage(javax.faces.context.FacesContext, java.lang.String)
, passing the
viewId
found by calling UIViewRoot.getViewId()
on
the UIViewRoot
in the argument FacesContext
.
Obtain a reference to the composite component metadata for this composite component
by calling ViewDeclarationLanguage.getComponentMetadata(javax.faces.context.FacesContext, javax.faces.application.Resource)
, passing the
facesContext
and componentResource
arguments to this method. This
version of the Jakarta Server Faces specification uses JavaBeans as the API to the component metadata.
Determine if the component author declared a componentType
for this component instance by
obtaining the BeanDescriptor
from the component metadata and calling its
getValue()
method, passing UIComponent.COMPOSITE_COMPONENT_TYPE_KEY
as
the argument. If non-null
, the result must be a ValueExpression
whose value is the component-type
of the UIComponent
to be created
for this Resource
component. Call through to
Application.createComponent(java.lang.String)
to create the component.
Otherwise, determine if a script based component for this Resource
can be found
by calling ViewDeclarationLanguage.getScriptComponentResource(javax.faces.context.FacesContext, javax.faces.application.Resource)
. If the result is
non-null
, and is a script written in one of the languages listed in JSF.4.3 of
the specification prose document, create a UIComponent
instance from the script
resource.
Otherwise, let library-name be the return from calling
Resource.getLibraryName()
on the argument componentResource
and
resource-name be the return from calling Resource.getResourceName()
on the
argument componentResource
. Create a fully qualified Java class name by removing
any file extension from resource-name and let fqcn be
library-name + "." +
resource-name
. If a class with the name of fqcn cannot be found, take
no action and continue to the next step. If any of InstantiationException
,
IllegalAccessException
, or ClassCastException
are thrown, wrap the
exception in a FacesException
and re-throw it. If any other exception is thrown,
log the exception and continue to the next step.
If none of the previous steps have yielded a UIComponent
instance, call
Application.createComponent(java.lang.String)
passing "javax.faces.NamingContainer
"
as the argument.
Call UIComponent.setRendererType(java.lang.String)
on the UIComponent
instance, passing
"javax.faces.Composite
" as the argument.
Store the argument Resource
in the attributes Map
of the
UIComponent
under the key, Resource.COMPONENT_RESOURCE_KEY
.
Store composite component metadata in the attributes Map
of the
UIComponent
under the key, UIComponent.BEANINFO_KEY
.
Before the component instance is returned, it must be inspected for the presence of a
ListenerFor
annotation. If this annotation is present, the action
listed in ListenerFor
must be taken on the component, before it is
returned from this method.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function.
createComponent
in class Application
context
- FacesContext
for the current requestcomponentResource
- A Resource
that points to a source file that provides an
implementation of a component.FacesException
- if a UIComponent
from the Resource
cannot be createdpublic UIComponent createComponent(ValueBinding componentBinding, FacesContext context, String componentType) throws FacesException
Application
Wrap the argument componentBinding
in an implementation of
ValueExpression
and call through to
Application.createComponent(javax.el.ValueExpression,javax.faces.context.FacesContext,java.lang.String)
.
createComponent
in class Application
componentBinding
- ValueBinding
representing a component value binding
expression (typically specified by the component
attribute of a
custom tag)context
- FacesContext
for the current requestcomponentType
- Component type to create if the ValueBinding
does not return a
component instanceFacesException
- if a UIComponent
cannot be createdpublic Iterator<String> getComponentTypes()
Application
Return an Iterator
over the set of currently defined component types for this
Application
.
getComponentTypes
in class Application
Application.getComponentTypes()
public void addConverter(String converterId, String converterClass)
Application
Register a new mapping of converter id to the name of the corresponding Converter
class. This allows subsequent calls to createConverter()
to serve as a factory
for Converter
instances.
addConverter
in class Application
converterId
- The converter id to be registeredconverterClass
- The fully qualified class name of the corresponding Converter
implementationApplication.addConverter(String, String)
public void addConverter(Class<?> targetClass, String converterClass)
Application
Register a new converter class that is capable of performing conversions for the specified target class.
addConverter
in class Application
targetClass
- The class for which this converter is registeredconverterClass
- The fully qualified class name of the corresponding Converter
implementationApplication.addConverter(Class, String)
public Converter<?> createConverter(String converterId)
Application
Instantiate and return a new Converter
instance of the class specified by a previous call to addConverter()
for the
specified converter id.
If the toLowerCase()
of the String
represenation of the value of
the "javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
"
application configuration parameter is "true
" (without the quotes) and the
Converter
instance to be returned is an instance of
DateTimeConverter
,
DateTimeConverter.setTimeZone(java.util.TimeZone)
must be called, passing the return
from TimeZone.getDefault()
.
The argument converter
must be inspected for the presence of the
ResourceDependency
annotation. If the
ResourceDependency
annotation is present, the action described in
ResourceDependency
must be taken. If the ResourceDependency
annotation is not present, the argument converter
must be inspected for the
presence of the ResourceDependencies
annotation. If the
ResourceDependencies
annotation is present, the action described in
ResourceDependencies
must be taken.
createConverter
in class Application
converterId
- The converter id for which to create and return a new Converter
instanceApplication.createConverter(String)
public Converter<?> createConverter(Class<?> targetClass)
Application
Instantiate and return a new Converter
instance of the class that has registered itself as capable of performing conversions for
objects of the specified type. If no such Converter
class can be identified, return
null
.
To locate an appropriate Converter
class, the following algorithm is performed,
stopping as soon as an appropriate Converter
class is found:
Converter
registered for the target class itself.Converter
registered for interfaces that are implemented by the target
class (directly or indirectly).Converter
registered for the superclass (if any) of the target class,
recursively working up the inheritance hierarchy.
If the Converter
has a single argument constructor that accepts a
Class
, instantiate the Converter
using that constructor, passing
the argument targetClass
as the sole argument. Otherwise, simply use the
zero-argument constructor.
If the toLowerCase()
of the String
represenation of the value of
the "javax.faces.DATETIMECONVERTER_DEFAULT_TIMEZONE_IS_SYSTEM_TIMEZONE
"
application configuration parameter is "true
" (without the quotes) and the
Converter
instance to be returned is an instance of
DateTimeConverter
,
DateTimeConverter.setTimeZone(java.util.TimeZone)
must be called, passing the return
from TimeZone.getDefault()
.
createConverter
in class Application
targetClass
- Target class for which to return a Converter
Application.createConverter(Class)
public Iterator<String> getConverterIds()
Application
Return an Iterator
over the set of currently registered converter ids for this
Application
.
getConverterIds
in class Application
Application.getConverterIds()
public Iterator<Class<?>> getConverterTypes()
Application
Return an Iterator
over the set of Class
instances for which
Converter
classes have been explicitly registered.
getConverterTypes
in class Application
Application.getConverterTypes()
public void addValidator(String validatorId, String validatorClass)
Application
Register a new mapping of validator id to the name of the corresponding Validator
class. This allows subsequent calls to createValidator()
to serve as a factory
for Validator
instances.
addValidator
in class Application
validatorId
- The validator id to be registeredvalidatorClass
- The fully qualified class name of the corresponding Validator
implementationApplication.addValidator(String, String)
public Validator<?> createValidator(String validatorId) throws FacesException
Application
Instantiate and return a new Validator
instance of the class specified by a previous call to addValidator()
for the
specified validator id.
The argument validator
must be inspected for the presence of the
ResourceDependency
annotation. If the
ResourceDependency
annotation is present, the action described in
ResourceDependency
must be taken. If the ResourceDependency
annotation is not present, the argument validator
must be inspected for the
presence of the ResourceDependencies
annotation. If the
ResourceDependencies
annotation is present, the action described in
ResourceDependencies
must be taken.
createValidator
in class Application
validatorId
- The validator id for which to create and return a new Validator
instanceFacesException
- if a Validator
of the specified id cannot be createdApplication.createValidator(String)
public Iterator<String> getValidatorIds()
Application
Return an Iterator
over the set of currently registered validator ids for this
Application
.
getValidatorIds
in class Application
Application.getValidatorIds()
public void addDefaultValidatorId(String validatorId)
Application
Register a validator by its id that is applied to all UIInput
components in a
view. The validator to most often serve this role is the BeanValidator
. The
usage contract for this method assumes that the validator has been registered using the
normal “by-id” registration mechanism.
An implementation is provided that takes no action so that users that decorate the
Application
continue to work.
addDefaultValidatorId
in class Application
validatorId
- the validator id.Application.addDefaultValidatorId(String)
public Map<String,String> getDefaultValidatorInfo()
Application
Return an immutable Map
over the set of currently registered default validator
IDs and their class name for this Application
.
An implementation is provided that returns Collections.emptyMap
so that users
that decorate the Application
continue to work.
getDefaultValidatorInfo
in class Application
Application.getDefaultValidatorInfo()
public ProjectStage getProjectStage()
Application
Return the project stage for the currently running application instance. The default value is
ProjectStage.Production
The implementation of this method must perform the following algorithm or an equivalent with the same end result to determine the value to return.
If the value has already been determined by a previous call to this method, simply return that value.
Look for a
JNDI
environment entry under the key given by the value ofProjectStage.PROJECT_STAGE_JNDI_NAME
(return type ofjava.lang.String
). If found, continue with the algorithm below, otherwise, look for an entry in theinitParamMap
of theExternalContext
from the currentFacesContext
with the key given by the value ofProjectStage.PROJECT_STAGE_PARAM_NAME
If a value is found, see if an enum constant can be obtained by calling
ProjectStage.valueOf()
, passing the value from theinitParamMap
. If this succeeds without exception, save the value and return it.If not found, or any of the previous attempts to discover the enum constant value have failed, log a descriptive error message, assign the value as
ProjectStage.Production
and return it.
A default implementation is provided that throws UnsupportedOperationException
so that users that decorate Application
can continue to function
getProjectStage
in class Application
Application.getProjectStage()
public SearchExpressionHandler getSearchExpressionHandler()
Application
Return the thread-safe singleton SearchExpressionHandler
for this application.
getSearchExpressionHandler
in class Application
SearchExpressionHandler
.public void setSearchExpressionHandler(SearchExpressionHandler searchExpressionHandler)
Application
Set the SearchExpressionHandler
instance used by the application.
setSearchExpressionHandler
in class Application
searchExpressionHandler
- the SearchExpressionHandler
.public void addSearchKeywordResolver(SearchKeywordResolver resolver)
Application
Cause the argument resolver
to be added to the head of the resolver chain.
It is not possible to remove a SearchKeywordResolver
registered with this method,
once it has been registered.
The default implementation throws UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend Application
.
addSearchKeywordResolver
in class Application
resolver
- the SearchKeywordResolver to add.public SearchKeywordResolver getSearchKeywordResolver()
Application
Return the singleton SearchKeywordResolver
instance to be used for all search keyword
resolution. This is actually an instance of a composite SearchKeywordResolver that must
contain the following SearchKeywordResolver
instances in the following order:
SearchKeywordResolver
instances declared using the
<search-keyword-resolver> element in the application configuration resources.
Any SearchKeywordResolver
instances added by calls to
Application.addSearchKeywordResolver(javax.faces.component.search.SearchKeywordResolver)
.
The SearchKeywordResolver
implementations for @all
,
@child(n)
, @form
, @id(...)
,
@namingcontainer
, @next
, @none
, @parent
,
@previous
, @root
and @this
.
The default implementation throws UnsupportedOperationException
and is provided
for the sole purpose of not breaking existing applications that extend Application
.
getSearchKeywordResolver
in class Application
SearchKeywordResolver
.@Deprecated public PropertyResolver getPropertyResolver()
Application
Return a PropertyResolver
instance that wraps the ELResolver
instance that
Faces provides to the Jakarta Expression Language for the resolution of expressions that appear
programmatically in an application.
Note that this no longer returns the default PropertyResolver
since that class
is now a no-op that aids in allowing custom PropertyResolver
s to affect the EL
resolution process.
getPropertyResolver
in class Application
Application.setPropertyResolver(javax.faces.el.PropertyResolver)
@Deprecated public void setPropertyResolver(PropertyResolver resolver)
Application
Set the PropertyResolver
instance that will be utilized to resolve method and value
bindings.
This method is now deprecated but the implementation must cause the argument to be set as the
head of the legacy PropertyResolver
chain, replacing any existing value that was
set from the application configuration resources.
It is illegal to call this method after the application has received any requests from the client. If an attempt is made to register a listener after that time it must have no effect.
setPropertyResolver
in class Application
resolver
- The new PropertyResolver
instanceApplication.setPropertyResolver(javax.faces.el.PropertyResolver)
@Deprecated public MethodBinding createMethodBinding(String ref, Class<?>[] params)
Application
Call Application.getExpressionFactory()
then call
ExpressionFactory.createMethodExpression(javax.el.ELContext, java.lang.String, java.lang.Class<?>, java.lang.Class<?>[])
, passing the given arguments, and wrap the
result in a MethodBinding
implementation, returning it.
createMethodBinding
in class Application
ref
- Method binding expression for which to return a MethodBinding
instanceparams
- Parameter signatures that must be compatible with those of the method to be
invoked, or a zero-length array or null
for a method that takes no
parametersApplication.createMethodBinding(String, Class[])
@Deprecated public ValueBinding createValueBinding(String ref) throws ReferenceSyntaxException
Application
Call Application.getExpressionFactory()
then call ExpressionFactory.createValueExpression(javax.el.ELContext, java.lang.String, java.lang.Class<?>)
,
passing the argument ref
, Object.class
for the expectedType, and
null
, for the fnMapper.
createValueBinding
in class Application
ref
- Value binding expression for which to return a ValueBinding
instanceReferenceSyntaxException
- if the specified ref
has invalid syntaxApplication.createValueBinding(String)
@Deprecated public VariableResolver getVariableResolver()
Application
Return the VariableResolver
that wraps the ELResolver
instance that Faces
provides to the Jakarta Expression Language for the resolution of expressions that appear programmatically in
an application. The implementation of the VariableResolver
must pass
null
as the base argument for any methods invoked on the underlying
ELResolver
.
Note that this method no longer returns the default VariableResolver
, since that
class now is a no-op that aids in allowing custom VariableResolver
s to affect
the Jakarta Expression Language resolution process.
getVariableResolver
in class Application
Application.getVariableResolver()
@Deprecated public void setVariableResolver(VariableResolver resolver)
Application
Set the VariableResolver
instance that will be consulted to resolve method and value
bindings.
This method is now deprecated but the implementation must cause the argument to be set as the
head of the legacy VariableResolver
chain, replacing any existing value that was
set from the application configuration resources.
It is illegal to call this method after the application has received any requests from the client. If an attempt is made to register a listener after that time it must have no effect.
setVariableResolver
in class Application
resolver
- The new VariableResolver
instanceApplication.setVariableResolver(javax.faces.el.VariableResolver)
Comments to: faces-dev@eclipse.org.
Copyright © 2019 Eclipse Foundation. All rights reserved.
Use is subject to license terms.