Package jakarta.el
Class ImportHandler
java.lang.Object
jakarta.el.ImportHandler
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
-
Method Summary
Modifier and TypeMethodDescriptionvoid
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.
-
Constructor Details
-
ImportHandler
public ImportHandler()
-
-
Method Details
-
importStatic
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
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
Import all the classes in a package.- Parameters:
packageName
- The package name to be imported
-
resolveClass
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
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.
-