Class ClassLoaderFacade

  • All Implemented Interfaces:
    java.io.Closeable, java.lang.AutoCloseable

    final class ClassLoaderFacade
    extends java.net.URLClassLoader
    Facade for ModuleClassLoader to only expose public classes.
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void dumpState​(java.io.PrintStream writer)  
      protected void finalize()  
      protected java.lang.Class findClass​(java.lang.String name)  
      java.net.URL findResource​(java.lang.String name)  
      (package private) java.net.URL findResourceDirect​(java.lang.String name)
      Works like findResource(String) but only looks at this module, without delegating to ancestors.
      java.util.Enumeration<java.net.URL> findResources​(java.lang.String name)  
      (package private) java.lang.Class getClass​(java.lang.String name)
      Tries to find a class from the ModuleClassLoader that this facade is wrapping, without doing further delegation to ancestors.
      java.lang.String[] getPublicPkgs()  
      (package private) boolean matchExportedPackage​(java.lang.String name)  
      void setPublicPkgs​(java.lang.String[] publicPkgs)  
      java.lang.String toString()  
      • Methods inherited from class java.net.URLClassLoader

        addURL, close, definePackage, getPermissions, getResourceAsStream, getURLs, newInstance, newInstance
      • Methods inherited from class java.security.SecureClassLoader

        defineClass, defineClass
      • Methods inherited from class java.lang.ClassLoader

        clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, loadClass, registerAsParallelCapable, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, getClass, hashCode, notify, notifyAll, wait, wait, wait
    • Field Detail

      • EMPTY_URLS

        private static final java.net.URL[] EMPTY_URLS
      • publicPkgs

        private java.util.HashSet<java.lang.String> publicPkgs
      • publicSet

        private java.util.ArrayList<java.lang.String> publicSet
      • classesLoaded

        private int classesLoaded
    • Constructor Detail

      • ClassLoaderFacade

        public ClassLoaderFacade​(ModuleClassLoader privateLoader)
        Creates a new instance of ClassLoaderFacade
    • Method Detail

      • finalize

        protected void finalize()
                         throws java.lang.Throwable
        Overrides:
        finalize in class java.lang.Object
        Throws:
        java.lang.Throwable
      • setPublicPkgs

        public void setPublicPkgs​(java.lang.String[] publicPkgs)
      • getPublicPkgs

        public java.lang.String[] getPublicPkgs()
      • matchExportedPackage

        boolean matchExportedPackage​(java.lang.String name)
      • findClass

        protected java.lang.Class findClass​(java.lang.String name)
                                     throws java.lang.ClassNotFoundException
        Overrides:
        findClass in class java.net.URLClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • findResources

        public java.util.Enumeration<java.net.URL> findResources​(java.lang.String name)
                                                          throws java.io.IOException
        Overrides:
        findResources in class java.net.URLClassLoader
        Throws:
        java.io.IOException
      • findResource

        public java.net.URL findResource​(java.lang.String name)
        Overrides:
        findResource in class java.net.URLClassLoader
      • getClass

        java.lang.Class getClass​(java.lang.String name)
                          throws java.lang.ClassNotFoundException
        Tries to find a class from the ModuleClassLoader that this facade is wrapping, without doing further delegation to ancestors.
        Throws:
        java.lang.ClassNotFoundException
      • findResourceDirect

        java.net.URL findResourceDirect​(java.lang.String name)
        Works like findResource(String) but only looks at this module, without delegating to ancestors.
      • dumpState

        public void dumpState​(java.io.PrintStream writer)
      • toString

        public java.lang.String toString()
        Overrides:
        toString in class java.lang.Object