org.springframework.core

Class DecoratingClassLoader

  • Direct Known Subclasses:
    OverridingClassLoader

    public abstract class DecoratingClassLoader
    extends ClassLoader
    Base class for decorating ClassLoaders such as OverridingClassLoader and org.springframework.instrument.classloading.ShadowingClassLoader, providing common handling of excluded packages and classes.
    Since:
    2.5.2
    Author:
    Juergen Hoeller, Rod Johnson
    • Constructor Detail

      • DecoratingClassLoader

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

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

      • 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:
        excludePackage(java.lang.String), excludeClass(java.lang.String)