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

      public DefaultResourceManagerClassLoader​(ResourceManager resourceManager)
      Constructor.
      Parameters:
      resourceManager - the resource manager.
  • Method Details

    • loadClass

      public java.lang.Class<?> loadClass​(java.lang.String name, boolean resolve) throws java.lang.ClassNotFoundException
      Load the class.
      Overrides:
      loadClass in class java.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 class java.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.IOException
      Read 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 class java.lang.ClassLoader
    • getResources

      public java.util.Enumeration<java.net.URL> getResources​(java.lang.String name) throws java.io.IOException
      Overrides:
      getResources in class java.lang.ClassLoader
      Throws:
      java.io.IOException
    • findResource

      protected java.net.URL findResource​(java.lang.String name)
      Find the resource.
      Overrides:
      findResource in class java.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 class java.lang.ClassLoader
      Throws:
      java.io.IOException
    • findResources

      protected java.util.Enumeration<java.net.URL> findResources​(java.lang.String name) throws java.io.IOException
      Find the resources.
      Overrides:
      findResources in class java.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

      public void setResourceManager​(ResourceManager resourceManager)
      Set the resource manager.
      Specified by:
      setResourceManager in interface ResourceManagerClassLoader
      Parameters:
      resourceManager - the resource manager.
    • getResourceManager

      public ResourceManager getResourceManager()
      Description copied from interface: ResourceManagerClassLoader
      Get the resource manager.
      Specified by:
      getResourceManager in interface ResourceManagerClassLoader
      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.