org.drools.rule
Class MapBackedClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.drools.rule.MapBackedClassLoader

public class MapBackedClassLoader
extends ClassLoader


Constructor Summary
MapBackedClassLoader(ClassLoader parentClassLoader)
           
MapBackedClassLoader(ClassLoader parentClassLoader, Map store)
           
 
Method Summary
 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, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, loadClass, resolveClass, setClassAssertionStatus, setDefaultAssertionStatus, setPackageAssertionStatus, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

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)

fastFindClass

public Class fastFindClass(String name)

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 class ClassLoader
Throws:
ClassNotFoundException

findClass

protected Class findClass(String name)
                   throws ClassNotFoundException
Overrides:
findClass in class ClassLoader
Throws:
ClassNotFoundException

getResourceAsStream

public InputStream getResourceAsStream(String name)
Overrides:
getResourceAsStream in class ClassLoader

getStore

public Map getStore()


Copyright © 2001-2012 JBoss by Red Hat. All Rights Reserved.