Class DecoratingClassLoader

java.lang.Object
java.lang.ClassLoader
org.springframework.core.DecoratingClassLoader
Direct Known Subclasses:
OverridingClassLoader, ShadowingClassLoader

public abstract class DecoratingClassLoader extends ClassLoader
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 Details

    • DecoratingClassLoader

      public DecoratingClassLoader()
      Create a new DecoratingClassLoader with no parent ClassLoader.
    • DecoratingClassLoader

      public DecoratingClassLoader(@Nullable ClassLoader parent)
      Create a new DecoratingClassLoader using the given parent ClassLoader for delegation.
  • Method Details

    • excludePackage

      public void excludePackage(String packageName)
      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

      public void excludeClass(String className)
      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

      protected boolean isExcluded(String className)
      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: