java.lang.Object
jakarta.el.ELManager
Manages Jakarta Expression Language parsing and evaluation environment. The ELManager maintains an instance of
ExpressionFactory and StandardELContext, for parsing and evaluating Jakarta Expression Language expressions.
- Since:
- Jakarta Expression Language 3.0
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
addBeanNameResolver
(BeanNameResolver beanNameResolver) Register a BeanNameResolver.void
addELResolver
(ELResolver elResolver) Add an user defined ELResolver to the list of ELResolvers.void
addEvaluationListener
(EvaluationListener listener) Register an evaluation listener.defineBean
(String name, Object bean) Define a bean in the local bean repositoryReturn the ELContext used for parsing and evaluating Jakarta Expression Language expressions.static ExpressionFactory
Return the ExpressionFactory instance used for Jakarta Expression Language evaluations.void
importClass
(String className) Import a class.void
importPackage
(String packageName) Import a package.void
importStatic
(String staticMemberName) Import a static field or method.void
mapFunction
(String prefix, String function, Method method) Maps a static method to Jakarta Expression Language function.setELContext
(ELContext context) Set the ELContext used for parsing and evaluating Jakarta Expression Language expressions.void
setVariable
(String variable, ValueExpression expression) Assign a ValueExpression to a Jakarta Expression Language variable, replacing any previous assignment to the same variable.
-
Constructor Details
-
ELManager
public ELManager()
-
-
Method Details
-
getExpressionFactory
Return the ExpressionFactory instance used for Jakarta Expression Language evaluations.- Returns:
- The ExpressionFactory
-
getELContext
Return the ELContext used for parsing and evaluating Jakarta Expression Language expressions. If there is currently no ELContext, a default instance of StandardELContext is returned.- Returns:
- The ELContext used for parsing and evaluating Jakarta Expression Language expressions..
-
setELContext
Set the ELContext used for parsing and evaluating Jakarta Expression Language expressions. The supplied ELContext will not be modified, except for the context object map.- Parameters:
context
- The new ELContext.- Returns:
- The previous ELContext, null if none.
-
addBeanNameResolver
Register a BeanNameResolver. Construct a BeanNameELResolver with the BeanNameResolver and add it to the list of ELResolvers. Once registered, the BeanNameResolver cannot be removed.- Parameters:
beanNameResolver
- The BeanNameResolver to be registered.
-
addELResolver
Add an user defined ELResolver to the list of ELResolvers. Can be called multiple times. The new ELResolver is placed ahead of the default ELResolvers. The list of the ELResolvers added this way are ordered chronologically.- Parameters:
elResolver
- The ELResolver to be added to the list of ELResolvers in ELContext.- See Also:
-
mapFunction
Maps a static method to Jakarta Expression Language function.- Parameters:
prefix
- The namespace of the functions, can be "".function
- The name of the function.method
- The static method to be invoked when the function is used.
-
setVariable
Assign a ValueExpression to a Jakarta Expression Language variable, replacing any previous assignment to the same variable. The assignment for the variable is removed if the expression isnull
.- Parameters:
variable
- The variable nameexpression
- The ValueExpression to be assigned to the variable.
-
importStatic
Import a static field or method. The class of the static member must be loadable from the classloader, at class resolution time.- Parameters:
staticMemberName
- The full class name of the class to be imported- Throws:
ELException
- if the name is not a full class name.
-
importClass
Import a class. The imported class must be loadable from the classloader at the expression evaluation time.- Parameters:
className
- The full class name of the class to be imported- Throws:
ELException
- if the name is not a full class name.
-
importPackage
Import a package. At the expression evaluation time, the imported package name will be used to construct the full class name, which will then be used to load the class. Inherently, this is less efficient than importing a class.- Parameters:
packageName
- The package name to be imported
-
defineBean
Define a bean in the local bean repository- Parameters:
name
- The name of the beanbean
- The bean instance to be defined. If null, the definition of the bean is removed.- Returns:
- the previous bean (if any) mapped to
name
-
addEvaluationListener
Register an evaluation listener.- Parameters:
listener
- The evaluation listener to be added.
-