- java.lang.Object
-
- jakarta.el.ELManager
-
public class ELManager extends Object
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
Constructors Constructor Description ELManager()
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description void
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.Object
defineBean(String name, Object bean)
Define a bean in the local bean repositoryStandardELContext
getELContext()
Return the ELContext used for parsing and evaluating Jakarta Expression Language expressions.static ExpressionFactory
getExpressionFactory()
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.ELContext
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.
-
-
-
Method Detail
-
getExpressionFactory
public static ExpressionFactory getExpressionFactory()
Return the ExpressionFactory instance used for Jakarta Expression Language evaluations.- Returns:
- The ExpressionFactory
-
getELContext
public StandardELContext 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
public ELContext setELContext(ELContext context)
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
public void addBeanNameResolver(BeanNameResolver beanNameResolver)
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
public void addELResolver(ELResolver elResolver)
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:
StandardELContext.addELResolver(jakarta.el.ELResolver)
-
mapFunction
public void mapFunction(String prefix, String function, Method method)
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
public void setVariable(String variable, ValueExpression expression)
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
public void importStatic(String staticMemberName) throws ELException
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
public void importClass(String className) throws ELException
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
public void importPackage(String packageName)
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
public Object defineBean(String name, Object bean)
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
public void addEvaluationListener(EvaluationListener listener)
Register an evaluation listener.- Parameters:
listener
- The evaluation listener to be added.
-
-