Class ChainAwareVariableResolver
public class ChainAwareVariableResolver extends VariableResolver
This special VariableResolver serves as the "original" VariableResolver that is passed to the one-arg ctor for the first custom VariableResolver that is encountered during application configuration. Subsequent VariableResolver instances get passed the previous VariableResolver instance, per section 10.4.5 of the spec.
The "specialness" of this VariableResolver is found in its resolveVariable(jakarta.faces.context.FacesContext, java.lang.String)
method, which delegates to the
head of the "correct" ELResolver chain based on the context in which this expression is being evaluated. If the
expression being evaluated originated in a JSP page, the Application
's ExpressionFactory
is
used to create a ValueExpression
, which is then evaluated to resolve the variable. This will cause the
ELResolver chain described in section 5.6.1 of the spec to be used. If the expression being evaluated originated in a
programmatic API call, the Application
's ELResolver
is used to resolve the variable. This
will cause the ELResolver chain described in section 5.6.2 of the spec to be used.
-
Constructor Summary
Constructors Constructor Description ChainAwareVariableResolver()
-
Method Summary
Modifier and Type Method Description Object
resolveVariable(FacesContext context, String name)
See the class javadocs.
-
Constructor Details
-
ChainAwareVariableResolver
public ChainAwareVariableResolver()
-
-
Method Details
-
resolveVariable
See the class javadocs.- Specified by:
resolveVariable
in classVariableResolver
- Parameters:
context
-FacesContext
against which to resolve this variable namename
- Name of the variable to be resolved- Returns:
- the result of the resolution
- Throws:
EvaluationException
- if an exception is thrown while resolving the variable name (the thrown exception must be included as thecause
property of this exception)
-