Class StandardTypeLocator
java.lang.Object
org.springframework.expression.spel.support.StandardTypeLocator
- All Implemented Interfaces:
TypeLocator
A simple implementation of
TypeLocator
that uses the context ClassLoader
(or any ClassLoader set upon it). It supports 'well-known' packages: So if a
type cannot be found, it will try the registered imports to locate it.- Since:
- 3.0
- Author:
- Andy Clement, Juergen Hoeller
-
Constructor Summary
ConstructorDescriptionCreate a StandardTypeLocator for the default ClassLoader (typically, the thread context ClassLoader).StandardTypeLocator
(ClassLoader classLoader) Create a StandardTypeLocator for the given ClassLoader. -
Method Summary
Modifier and TypeMethodDescriptionClass<?>
Find a (possibly unqualified) type reference - first using the type name as-is, then trying any registered prefixes if the type name cannot be found.Return a list of all the import prefixes registered with this StandardTypeLocator.void
registerImport
(String prefix) Register a new import prefix that will be used when searching for unqualified types.void
removeImport
(String prefix) Remove that specified prefix from this locator's list of imports.
-
Constructor Details
-
StandardTypeLocator
public StandardTypeLocator()Create a StandardTypeLocator for the default ClassLoader (typically, the thread context ClassLoader). -
StandardTypeLocator
Create a StandardTypeLocator for the given ClassLoader.- Parameters:
classLoader
- the ClassLoader to delegate to
-
-
Method Details
-
registerImport
Register a new import prefix that will be used when searching for unqualified types. Expected format is something like "java.lang".- Parameters:
prefix
- the prefix to register
-
removeImport
Remove that specified prefix from this locator's list of imports.- Parameters:
prefix
- the prefix to remove
-
getImportPrefixes
Return a list of all the import prefixes registered with this StandardTypeLocator.- Returns:
- a list of registered import prefixes
-
findType
Find a (possibly unqualified) type reference - first using the type name as-is, then trying any registered prefixes if the type name cannot be found.- Specified by:
findType
in interfaceTypeLocator
- Parameters:
typeName
- the type to locate- Returns:
- the class object for the type
- Throws:
EvaluationException
- if the type cannot be found
-