Module cloud.piranha.resource
Package cloud.piranha.resource
Class DefaultResourceManagerClassLoader
java.lang.Object
java.lang.ClassLoader
cloud.piranha.resource.DefaultResourceManagerClassLoader
- All Implemented Interfaces:
ResourceManagerClassLoader
- Direct Known Subclasses:
DefaultWebApplicationClassLoader
,IsolatingResourceManagerClassLoader
public class DefaultResourceManagerClassLoader extends java.lang.ClassLoader implements ResourceManagerClassLoader
The default WebApplicationClassLoader.
- Author:
- Manfred Riem ([email protected])
-
Constructor Summary
Constructors Constructor Description DefaultResourceManagerClassLoader()
Constructor.DefaultResourceManagerClassLoader(ResourceManager resourceManager)
Constructor.DefaultResourceManagerClassLoader(java.lang.ClassLoader delegateClassLoader)
Another Constructor. -
Method Summary
Modifier and Type Method Description protected java.lang.Class<?>
_defineClass(java.lang.String name, byte[] bytes, boolean resolve)
Define the class.protected java.lang.Class<?>
_loadClass(java.lang.String name, boolean resolve)
Inner load class.protected java.lang.Class<?>
findClass(java.lang.String moduleName, java.lang.String name)
protected java.net.URL
findResource(java.lang.String name)
Find the resource.protected java.net.URL
findResource(java.lang.String moduleName, java.lang.String name)
protected java.util.Enumeration<java.net.URL>
findResources(java.lang.String name)
Find the resources.java.lang.ClassLoader
getDelegateClassLoader()
Get the delegate classloader.java.net.URL
getResource(java.lang.String name)
ResourceManager
getResourceManager()
Get the resource manager.java.util.Enumeration<java.net.URL>
getResources(java.lang.String name)
java.lang.Class<?>
loadClass(java.lang.String name, boolean resolve)
Load the class.protected java.lang.String
normalizeName(java.lang.String name)
Normalize the name to a .class name.protected byte[]
readClassBytes(java.io.InputStream resourceStream)
Read the class bytes from the input stream.void
setDelegateClassLoader(java.lang.ClassLoader delegateClassLoader)
Set the delegate classloader.void
setResourceManager(ResourceManager resourceManager)
Set the resource manager.Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getResourceAsStream, 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 Details
-
DefaultResourceManagerClassLoader
public DefaultResourceManagerClassLoader()Constructor. -
DefaultResourceManagerClassLoader
public DefaultResourceManagerClassLoader(java.lang.ClassLoader delegateClassLoader)Another Constructor.- Parameters:
delegateClassLoader
- classloader which is consulted first
-
DefaultResourceManagerClassLoader
Constructor.- Parameters:
resourceManager
- the resource manager.
-
-
Method Details
-
loadClass
public java.lang.Class<?> loadClass(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundExceptionLoad the class.- Overrides:
loadClass
in classjava.lang.ClassLoader
- Parameters:
name
- the name.resolve
- the resolve flag.- Returns:
- the class.
- Throws:
java.lang.ClassNotFoundException
- when the class cannot be found.
-
_loadClass
protected java.lang.Class<?> _loadClass(java.lang.String name, boolean resolve)Inner load class.- Parameters:
name
- the name.resolve
- the resolve flog.- Returns:
- the class.
-
findClass
protected java.lang.Class<?> findClass(java.lang.String moduleName, java.lang.String name)- Overrides:
findClass
in classjava.lang.ClassLoader
-
normalizeName
protected java.lang.String normalizeName(java.lang.String name)Normalize the name to a .class name.- Parameters:
name
- the name.- Returns:
- the .class name.
-
readClassBytes
protected byte[] readClassBytes(java.io.InputStream resourceStream) throws java.io.IOExceptionRead the class bytes from the input stream.- Parameters:
resourceStream
- the input stream.- Returns:
- the bytes.
- Throws:
java.io.IOException
- when an I/O error occurs.
-
_defineClass
protected java.lang.Class<?> _defineClass(java.lang.String name, byte[] bytes, boolean resolve)Define the class.- Parameters:
name
- the name.bytes
- the bytes.resolve
- the resolve flag.- Returns:
- the class.
-
getResource
public java.net.URL getResource(java.lang.String name)- Overrides:
getResource
in classjava.lang.ClassLoader
-
getResources
public java.util.Enumeration<java.net.URL> getResources(java.lang.String name) throws java.io.IOException- Overrides:
getResources
in classjava.lang.ClassLoader
- Throws:
java.io.IOException
-
findResource
protected java.net.URL findResource(java.lang.String name)Find the resource.- Overrides:
findResource
in classjava.lang.ClassLoader
- Parameters:
name
- the name.- Returns:
- the resource, or null if not found.
-
findResource
protected java.net.URL findResource(java.lang.String moduleName, java.lang.String name) throws java.io.IOException- Overrides:
findResource
in classjava.lang.ClassLoader
- Throws:
java.io.IOException
-
findResources
protected java.util.Enumeration<java.net.URL> findResources(java.lang.String name) throws java.io.IOExceptionFind the resources.- Overrides:
findResources
in classjava.lang.ClassLoader
- Parameters:
name
- the name of the resource.- Returns:
- the enumeration of the resource urls.
- Throws:
java.io.IOException
- when an I/O error occurs.
-
setResourceManager
Set the resource manager.- Specified by:
setResourceManager
in interfaceResourceManagerClassLoader
- Parameters:
resourceManager
- the resource manager.
-
getResourceManager
Description copied from interface:ResourceManagerClassLoader
Get the resource manager.- Specified by:
getResourceManager
in interfaceResourceManagerClassLoader
- Returns:
- the resource manager.
-
setDelegateClassLoader
public void setDelegateClassLoader(java.lang.ClassLoader delegateClassLoader)Set the delegate classloader.- Parameters:
delegateClassLoader
- the delegate class loader.
-
getDelegateClassLoader
public java.lang.ClassLoader getDelegateClassLoader()Get the delegate classloader.- Returns:
- the delegate classloader.
-