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 voidaddClass(String className, byte[] bytes)voidaddResource(String className, byte[] bytes)ClassfastFindClass(String name)protected ClassfindClass(String name)InputStreamgetResourceAsStream(String name)MapgetStore()ClassloadClass(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:
loadClassin classClassLoader- Throws:
ClassNotFoundException
-
findClass
protected Class findClass(String name) throws ClassNotFoundException
- Overrides:
findClassin classClassLoader- Throws:
ClassNotFoundException
-
getResourceAsStream
public InputStream getResourceAsStream(String name)
- Overrides:
getResourceAsStreamin classClassLoader
-
getStore
public Map getStore()
-
-