Package org.drools.core.rule
Class MapBackedClassLoader
- java.lang.Object
-
- java.lang.ClassLoader
-
- org.drools.core.rule.MapBackedClassLoader
-
public class MapBackedClassLoader extends ClassLoader
-
-
Constructor Summary
Constructors Constructor Description MapBackedClassLoader(ClassLoader parentClassLoader)
MapBackedClassLoader(ClassLoader parentClassLoader, Map store)
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
addClass(String className, byte[] bytes)
void
addResource(String className, byte[] bytes)
Class
fastFindClass(String name)
protected Class
findClass(String name)
InputStream
getResourceAsStream(String name)
Map
getStore()
Class
loadClass(String name, boolean resolve)
Javadocs recommend that this method not be overloaded.-
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResource, findResources, 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 Detail
-
MapBackedClassLoader
public MapBackedClassLoader(ClassLoader parentClassLoader)
-
MapBackedClassLoader
public MapBackedClassLoader(ClassLoader parentClassLoader, Map store)
-
-
Method Detail
-
addResource
public void addResource(String className, byte[] bytes)
-
addClass
public void addClass(String className, byte[] bytes)
-
loadClass
public Class loadClass(String name, boolean resolve) throws ClassNotFoundException
Javadocs recommend that this method not be overloaded. We overload this so that we can prioritise the fastFindClass over method calls to parent.loadClass(name, false); and c = findBootstrapClass0(name); which the default implementation would first - hence why we call it "fastFindClass" instead of standard findClass, this indicates that we give it a higher priority than normal.- Overrides:
loadClass
in classClassLoader
- Throws:
ClassNotFoundException
-
findClass
protected Class findClass(String name) throws ClassNotFoundException
- Overrides:
findClass
in classClassLoader
- Throws:
ClassNotFoundException
-
getResourceAsStream
public InputStream getResourceAsStream(String name)
- Overrides:
getResourceAsStream
in classClassLoader
-
getStore
public Map getStore()
-
-