Module cloud.piranha.resource.impl
Package cloud.piranha.resource.impl
Class DefaultResourceManagerClassLoader
java.lang.Object
java.lang.ClassLoader
cloud.piranha.resource.impl.DefaultResourceManagerClassLoader
- All Implemented Interfaces:
ResourceManagerClassLoader
- Direct Known Subclasses:
DefaultWebApplicationClassLoader
,IsolatingResourceManagerClassLoader
public class DefaultResourceManagerClassLoader
extends ClassLoader
implements ResourceManagerClassLoader
The default ResourceManagerClassLoader.
- Author:
- Manfred Riem ([email protected])
-
Constructor Summary
ConstructorDescriptionConstructor.DefaultResourceManagerClassLoader
(ResourceManager resourceManager) Yet another Constructor.DefaultResourceManagerClassLoader
(ClassLoader delegateClassLoader) Another Constructor. -
Method Summary
Modifier and TypeMethodDescriptionprotected Class<?>
protected URL
findResource
(String name) protected URL
findResource
(String moduleName, String name) protected Enumeration<URL>
findResources
(String name) Find the resources.Returns the delegate classloader.getResource
(String name) Returns the resource manager.getResources
(String name) protected Class<?>
internalDefineClass
(String name, byte[] bytes, boolean resolve) Define the class.protected Class<?>
internalLoadClass
(String name, boolean resolve) Inner load class.Class<?>
Load the class.protected String
normalizeName
(String name) Normalize the name to a .class name.protected byte[]
readClassBytes
(InputStream resourceStream) Read the class bytes from the input stream.void
setDelegateClassLoader
(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
-
Constructor Details
-
DefaultResourceManagerClassLoader
public DefaultResourceManagerClassLoader()Constructor. -
DefaultResourceManagerClassLoader
Another Constructor.- Parameters:
delegateClassLoader
- classloader which is consulted first
-
DefaultResourceManagerClassLoader
Yet another Constructor.- Parameters:
resourceManager
- the resource manager.
-
-
Method Details
-
loadClass
Load the class.- Overrides:
loadClass
in classClassLoader
- Parameters:
name
- the name.resolve
- the resolve flag.- Returns:
- the class.
- Throws:
ClassNotFoundException
- when the class cannot be found.
-
findClass
- Overrides:
findClass
in classClassLoader
-
internalLoadClass
Inner load class.- Parameters:
name
- the name.resolve
- the resolve flog.- Returns:
- the class.
-
getResource
- Overrides:
getResource
in classClassLoader
-
getResources
- Overrides:
getResources
in classClassLoader
- Throws:
IOException
-
findResource
- Overrides:
findResource
in classClassLoader
-
findResource
- Overrides:
findResource
in classClassLoader
- Throws:
IOException
-
findResources
Find the resources.- Overrides:
findResources
in classClassLoader
- Parameters:
name
- the name of the resource.- Returns:
- the enumeration of the resource urls.
- Throws:
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
Returns the resource manager.- Specified by:
getResourceManager
in interfaceResourceManagerClassLoader
- Returns:
- the resource manager
-
setDelegateClassLoader
Set the delegate classloader.- Parameters:
delegateClassLoader
- the delegate class loader.
-
getDelegateClassLoader
Returns the delegate classloader.- Returns:
- the delegate classloader
-
normalizeName
Normalize the name to a .class name.- Parameters:
name
- the name.- Returns:
- the .class name.
-
readClassBytes
Read the class bytes from the input stream.- Parameters:
resourceStream
- the input stream.- Returns:
- the bytes.
- Throws:
IOException
- when an I/O error occurs.
-
internalDefineClass
Define the class.- Parameters:
name
- the name.bytes
- the bytes.resolve
- the resolve flag.- Returns:
- the class.
-