Class ExtensionsClassLoader

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

    public class ExtensionsClassLoader
    extends java.net.URLClassLoader
    An isolated ClassLoader for loading extensions to core Alluxio. This class loader first scans the provided URLs to define a class and in case the class is not found it will fallback to the provided default class loader.
    • Constructor Summary

      Constructors 
      Constructor Description
      ExtensionsClassLoader​(java.net.URL[] urls, java.lang.ClassLoader defaultClassLoader)  
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      void addPath​(java.lang.String path)
      Adds a path where the class loader can load resource from.
      protected java.lang.Class<?> findClass​(java.lang.String name)  
      java.util.Enumeration<java.net.URL> getResources​(java.lang.String name)  
      java.lang.Class<?> loadClass​(java.lang.String name, boolean resolve)  
      • Methods inherited from class java.net.URLClassLoader

        addURL, close, definePackage, findResource, findResources, 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, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ExtensionsClassLoader

        public ExtensionsClassLoader​(java.net.URL[] urls,
                                     java.lang.ClassLoader defaultClassLoader)
        Parameters:
        urls - array of URLs of jars
        defaultClassLoader - the default class loader to fall back
    • Method Detail

      • 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
      • loadClass

        public java.lang.Class<?> loadClass​(java.lang.String name,
                                            boolean resolve)
                                     throws java.lang.ClassNotFoundException
        Overrides:
        loadClass in class java.lang.ClassLoader
        Throws:
        java.lang.ClassNotFoundException
      • getResources

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

        public void addPath​(java.lang.String path)
                     throws java.net.MalformedURLException
        Adds a path where the class loader can load resource from.
        Parameters:
        path - the path to add
        Throws:
        java.net.MalformedURLException