Package ch.qos.cal10n.plugins
Class ThisFirstClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- java.security.SecureClassLoader
-
- java.net.URLClassLoader
-
- ch.qos.cal10n.plugins.ThisFirstClassLoader
-
- All Implemented Interfaces:
Closeable
,AutoCloseable
public class ThisFirstClassLoader extends URLClassLoader
An almost trivial no fuss implementation of a class loader following the child-first delegation model.- Author:
- Ceki Gülcü
-
-
Constructor Summary
Constructors Constructor Description ThisFirstClassLoader(URL[] urls)
ThisFirstClassLoader(URL[] urls, ClassLoader parent)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addURL(URL url)
Class<?>
loadClass(String name)
protected Class<?>
loadClass(String name, boolean resolve)
We override the parent-first behavior established by java.lang.Classloader.-
Methods inherited from class java.net.URLClassLoader
close, definePackage, findClass, 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, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
-
-
-
Constructor Detail
-
ThisFirstClassLoader
public ThisFirstClassLoader(URL[] urls)
-
ThisFirstClassLoader
public ThisFirstClassLoader(URL[] urls, ClassLoader parent)
-
-
Method Detail
-
addURL
public void addURL(URL url)
- Overrides:
addURL
in classURLClassLoader
-
loadClass
public Class<?> loadClass(String name) throws ClassNotFoundException
- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
loadClass
protected Class<?> loadClass(String name, boolean resolve) throws ClassNotFoundException
We override the parent-first behavior established by java.lang.Classloader. The implementation is surprisingly straightforward.- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
-