Package org.apache.nutch.plugin
Class PluginClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- org.apache.nutch.plugin.PluginClassLoader
-
- All Implemented Interfaces:
Closeable,AutoCloseable
public class PluginClassLoader extends URLClassLoader
ThePluginClassLoaderis a child-first classloader that only contains classes of the runtime libraries setuped in the plugin manifest file and exported libraries of plugins that are required plugins. Libraries can be exported or not. Not exported libraries are only used in the plugin ownPluginClassLoader. Exported libraries are available forPluginClassLoaderof plugins that depends on these plugins.
-
-
Constructor Summary
Constructors Constructor Description PluginClassLoader(URL[] urls, ClassLoader parent)Overloaded constructor
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)URLgetResource(String name)InputStreamgetResourceAsStream(String name)Enumeration<URL>getResources(String name)inthashCode()protected Class<?>loadClass(String name, boolean resolve)-
Methods inherited from class java.net.URLClassLoader
addURL, close, definePackage, findClass, findResource, findResources, getPermissions, 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, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
PluginClassLoader
public PluginClassLoader(URL[] urls, ClassLoader parent)
Overloaded constructor- Parameters:
urls- Array of urls with own libraries and all exported libraries of plugins that are required for this pluginparent- the parentClassLoaderresponsible for loading classes defined in urls.
-
-
Method Detail
-
loadClass
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
getResource
public URL getResource(String name)
- Overrides:
getResourcein classClassLoader
-
getResources
public Enumeration<URL> getResources(String name) throws IOException
- Overrides:
getResourcesin classClassLoader- Throws:
IOException
-
getResourceAsStream
public InputStream getResourceAsStream(String name)
- Overrides:
getResourceAsStreamin classURLClassLoader
-
-