Package org.springframework.core
Class DecoratingClassLoader
java.lang.Object
java.lang.ClassLoader
org.springframework.core.DecoratingClassLoader
- Direct Known Subclasses:
OverridingClassLoader
,ShadowingClassLoader
Base class for decorating ClassLoaders such as
OverridingClassLoader
and ShadowingClassLoader
,
providing common handling of excluded packages and classes.- Since:
- 2.5.2
- Author:
- Juergen Hoeller, Rod Johnson
-
Constructor Summary
ConstructorDescriptionCreate a new DecoratingClassLoader with no parent ClassLoader.DecoratingClassLoader
(ClassLoader parent) Create a new DecoratingClassLoader using the given parent ClassLoader for delegation. -
Method Summary
Modifier and TypeMethodDescriptionvoid
excludeClass
(String className) Add a class name to exclude from decoration (e.g.void
excludePackage
(String packageName) Add a package name to exclude from decoration (e.g.protected boolean
isExcluded
(String className) Determine whether the specified class is excluded from decoration by this class loader.Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
DecoratingClassLoader
public DecoratingClassLoader()Create a new DecoratingClassLoader with no parent ClassLoader. -
DecoratingClassLoader
Create a new DecoratingClassLoader using the given parent ClassLoader for delegation.
-
-
Method Details
-
excludePackage
Add a package name to exclude from decoration (e.g. overriding).Any class whose fully-qualified name starts with the name registered here will be handled by the parent ClassLoader in the usual fashion.
- Parameters:
packageName
- the package name to exclude
-
excludeClass
Add a class name to exclude from decoration (e.g. overriding).Any class name registered here will be handled by the parent ClassLoader in the usual fashion.
- Parameters:
className
- the class name to exclude
-
isExcluded
Determine whether the specified class is excluded from decoration by this class loader.The default implementation checks against excluded packages and classes.
- Parameters:
className
- the class name to check- Returns:
- whether the specified class is eligible
- See Also:
-