Package org.glassfish.common.util
Class GlassfishUrlClassLoader
java.lang.Object
java.lang.ClassLoader
java.security.SecureClassLoader
java.net.URLClassLoader
org.glassfish.common.util.GlassfishUrlClassLoader
- All Implemented Interfaces:
Closeable,AutoCloseable
- Direct Known Subclasses:
ASURLClassLoader
URLClassLoader with logs and overriden toString() method so it prints list
of managed URLs.
This classloader is Closeable! As of JDK11+ close() just closes any
unclosed resource streams which could survive the class loader.
- Author:
- David Matejcek
-
Constructor Summary
ConstructorsConstructorDescriptionGlassfishUrlClassLoader(URL[] urls) Initializes the internal classpath.GlassfishUrlClassLoader(URL[] urls, ClassLoader parent) Initializes the internal classpath.GlassfishUrlClassLoader(URL[] urls, ClassLoader parent, URLStreamHandlerFactory factory) Initializes the internal classpath. -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidclose()protected PackagedefinePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) protected Class<?>findResource(String name) findResources(String name) getResourceAsStream(String name) protected Class<?>toString()Returns class name, hash code and list of managed urls.Methods inherited from class java.net.URLClassLoader
definePackage, getPermissions, getURLs, newInstance, newInstanceMethods inherited from class java.security.SecureClassLoader
defineClass, defineClassMethods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, findClass, findLibrary, findLoadedClass, findResource, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
-
Constructor Details
-
GlassfishUrlClassLoader
Initializes the internal classpath.- Parameters:
urls-
-
GlassfishUrlClassLoader
Initializes the internal classpath.- Parameters:
urls-parent-
-
GlassfishUrlClassLoader
Initializes the internal classpath.- Parameters:
urls-parent-factory-
-
-
Method Details
-
addURL
- Overrides:
addURLin classURLClassLoader
-
findClass
- Overrides:
findClassin classURLClassLoader- Throws:
ClassNotFoundException
-
findResource
- Overrides:
findResourcein classURLClassLoader
-
findResources
- Overrides:
findResourcesin classURLClassLoader- Throws:
IOException
-
getResourceAsStream
- Overrides:
getResourceAsStreamin classURLClassLoader
-
loadClass
- Overrides:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
definePackage
protected Package definePackage(String name, String specTitle, String specVersion, String specVendor, String implTitle, String implVersion, String implVendor, URL sealBase) - Overrides:
definePackagein classClassLoader
-
close
- Specified by:
closein interfaceAutoCloseable- Specified by:
closein interfaceCloseable- Overrides:
closein classURLClassLoader- Throws:
IOException
-
toString
Returns class name, hash code and list of managed urls.
-