Package org.kie.internal.utils

## Class CompositeClassLoader

- java.lang.Object
- - java.lang.ClassLoader
  - - org.kie.internal.utils.CompositeClassLoader

-     public class CompositeClassLoader
      extends java.lang.ClassLoader

  This is an Internal Drools Class

- - ### Constructor Summary

    Constructors
    Constructor | Description
    --- | ---
    `CompositeClassLoader()` |

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method | Description
    --- | --- | ---
    `void` | `addClassLoader​(java.lang.ClassLoader classLoader)` |
    `void` | `addClassLoaderToEnd​(java.lang.ClassLoader classLoader)` |
    `CompositeClassLoader` | `clone()` |
    `void` | `dumpStats()` |
    `java.util.Collection<java.lang.ClassLoader>` | `getClassLoaders()` |
    `java.net.URL` | `getResource​(java.lang.String name)` |
    `java.io.InputStream` | `getResourceAsStream​(java.lang.String name)` | This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
    `java.util.Enumeration<java.net.URL>` | `getResources​(java.lang.String name)` |
    `java.lang.Class<?>` | `loadClass​(java.lang.String name, boolean resolve)` | This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
    `java.lang.Class<?>` | `loadClass​(java.lang.String name, boolean resolve, java.lang.ClassLoader ignore)` | This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
    `void` | `removeClassLoader​(java.lang.ClassLoader classLoader)` |
    `void` | `setCachingEnabled​(boolean enabled)` |

    - ### Methods inherited from class java.lang.ClassLoader

      `clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, findSystemClass, getClassLoadingLock, getDefinedPackage, getDefinedPackages, getName, getPackage, getPackages, getParent, getPlatformClassLoader, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, getUnnamedModule, isRegisteredAsParallelCapable, loadClass, registerAsParallelCapable, resolveClass, resources, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners`

    - ### Methods inherited from class java.lang.Object

      `equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### CompositeClassLoader

          public CompositeClassLoader()

  - ### Method Detail

    - #### getClassLoaders

          public java.util.Collection<java.lang.ClassLoader> getClassLoaders()

    - #### setCachingEnabled

          public void setCachingEnabled​(boolean enabled)

    - #### addClassLoader

          public void addClassLoader​(java.lang.ClassLoader classLoader)

    - #### addClassLoaderToEnd

          public void addClassLoaderToEnd​(java.lang.ClassLoader classLoader)

    - #### removeClassLoader

          public void removeClassLoader​(java.lang.ClassLoader classLoader)

    - #### loadClass

          public java.lang.Class<?> loadClass​(java.lang.String name,
                                              boolean resolve)
                                       throws java.lang.ClassNotFoundException

      This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
      Overrides:
        `loadClass` in class `java.lang.ClassLoader`
      Throws:
        `java.lang.ClassNotFoundException`

    - #### loadClass

          public java.lang.Class<?> loadClass​(java.lang.String name,
                                              boolean resolve,
                                              java.lang.ClassLoader ignore)
                                       throws java.lang.ClassNotFoundException

      This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
      Throws:
        `java.lang.ClassNotFoundException`

    - #### getResourceAsStream

          public java.io.InputStream getResourceAsStream​(java.lang.String name)

      This ClassLoader never has classes of it's own, so only search the child ClassLoaders and the parent ClassLoader if one is provided
      Overrides:
        `getResourceAsStream` in class `java.lang.ClassLoader`

    - #### 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`

    - #### dumpStats

          public void dumpStats()

    - #### clone

          public CompositeClassLoader clone()

      Overrides:
        `clone` in class `java.lang.Object`