bsh.classpath
Class BshClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--java.security.SecureClassLoader
              |
              +--java.net.URLClassLoader
                    |
                    +--bsh.classpath.BshClassLoader
Direct Known Subclasses:
DiscreteFilesClassLoader

public class BshClassLoader
extends java.net.URLClassLoader

One of the things BshClassLoader does is to address a deficiency in URLClassLoader that prevents us from specifying individual classes via URLs.


Field Summary
 
Fields inherited from class java.net.URLClassLoader
 
Fields inherited from class java.security.SecureClassLoader
 
Fields inherited from class java.lang.ClassLoader
 
Constructor Summary
protected BshClassLoader()
          For use by children
  BshClassLoader(BshClassPath bcp)
           
  BshClassLoader(java.net.URL[] bases)
           
 
Method Summary
 void addURL(java.net.URL url)
           
 java.lang.Class findClass(java.lang.String name)
          Find the correct source for the class...
 java.lang.Class loadClass(java.lang.String name, boolean resolve)
          This modification allows us to reload classes which are in the Java VM user classpath.
 
Methods inherited from class java.net.URLClassLoader
definePackage, findResource, findResources, getPermissions, getURLs, newInstance, newInstance
 
Methods inherited from class java.security.SecureClassLoader
defineClass
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, definePackage, findLibrary, findLoadedClass, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, 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

BshClassLoader

public BshClassLoader(java.net.URL[] bases)

BshClassLoader

public BshClassLoader(BshClassPath bcp)

BshClassLoader

protected BshClassLoader()
For use by children

Method Detail

addURL

public void addURL(java.net.URL url)
Overrides:
addURL in class java.net.URLClassLoader

loadClass

public java.lang.Class loadClass(java.lang.String name,
                                 boolean resolve)
                          throws java.lang.ClassNotFoundException
This modification allows us to reload classes which are in the Java VM user classpath. We search first rather than delegate to the parent classloader (or bootstrap path) first.

Overrides:
loadClass in class java.lang.ClassLoader
java.lang.ClassNotFoundException

findClass

public java.lang.Class findClass(java.lang.String name)
                          throws java.lang.ClassNotFoundException
Find the correct source for the class... Try designated loader if any Try our URLClassLoader paths if any Try base loader if any Try system ???

Overrides:
findClass in class java.net.URLClassLoader
java.lang.ClassNotFoundException