- java.lang.Object
-
- jakarta.el.ImportHandler
-
public class ImportHandler extends Object
Handles imports of class names and package names. An imported package name implicitly imports all the classes in the package. A class that has been imported can be used without its package name. The name is resolved to its full (package and class) name at evaluation time.
-
-
Constructor Summary
Constructors Constructor Description ImportHandler()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
importClass(String name)
Import a class.void
importPackage(String packageName)
Import all the classes in a package.void
importStatic(String name)
Import a static field or method.Class<?>
resolveClass(String name)
Resolve a class name.Class<?>
resolveStatic(String name)
Resolve a static field or method name.
-
-
-
Method Detail
-
importStatic
public void importStatic(String name) throws ELException
Import a static field or method.- Parameters:
name
- The static member name, including the full class name, to be imported- Throws:
ELException
- if the name does not include a ".".
-
importClass
public void importClass(String name) throws ELException
Import a class.- Parameters:
name
- The full class name of the class to be imported- Throws:
ELException
- if the name does not include a ".".
-
importPackage
public void importPackage(String packageName)
Import all the classes in a package.- Parameters:
packageName
- The package name to be imported
-
resolveClass
public Class<?> resolveClass(String name)
Resolve a class name.- Parameters:
name
- The name of the class (without package name) to be resolved.- Returns:
- If the class has been imported previously, with
importClass(java.lang.String)
orimportPackage(java.lang.String)
, then its Class instance. Otherwisenull
. - Throws:
ELException
- if the class is abstract or is an interface, or not public.
-
resolveStatic
public Class<?> resolveStatic(String name)
Resolve a static field or method name.- Parameters:
name
- The name of the member(without package and class name) to be resolved.- Returns:
- If the field or method has been imported previously, with
importStatic(java.lang.String)
, then the class object representing the class that declares the static field or method. Otherwisenull
. - Throws:
ELException
- if the class is not public, or is abstract or is an interface.
-
-