edu.rice.cs.drjava
Class DrJavaClassLoader

java.lang.Object
  |
  +--java.lang.ClassLoader
        |
        +--edu.rice.cs.drjava.DrJavaClassLoader

public class DrJavaClassLoader
extends ClassLoader

Custom classloader, that loads from files or URLs modeled after the NextGen classloader (edu.rice.cs.nextgen.classloader.NextGenLoader) $Id: DrJavaClassLoader.java,v 1.1 2002/08/09 06:12:22 theoyaung Exp $


Inner classes inherited from class java.lang.ClassLoader
ClassLoader.NativeLibrary
 
Field Summary
private  HashMap _checkedPackages
          Map of package name (string) to whether must use system loader (boolean).
private static int BUFFER_SIZE
           
private  byte[] readBuffer
           
 
Fields inherited from class java.lang.ClassLoader
bootstrapClassPath, classes, defaultDomain, defaultPermissions, getClassLoaderPerm, initialized, loadedLibraryNames, nativeLibraries, nativeLibraryContext, nocerts, package2certs, packages, parent, scl, sclSet, sys_paths, systemNativeLibraries, usr_paths
 
Constructor Summary
DrJavaClassLoader()
           
DrJavaClassLoader(URL[] urls)
           
DrJavaClassLoader(URL[] urls, ClassLoader parent)
           
 
Method Summary
static String dotToSlash(String s)
           
protected  Class loadClass(String name, boolean resolve)
           
 boolean mustUseSystemLoader(String name)
           
private  byte[] readClassFile(String className)
          Gets byte[] for class file, or throws IOException.
static String replaceSubstring(String orig, String find, String repl)
          Replace all instances of find with repl in orig, and return the new String.
 
Methods inherited from class java.lang.ClassLoader
, addClass, check, checkCerts, checkPackageAccess, compareCerts, copyFrom, defineClass, defineClass, defineClass, defineClass0, definePackage, findBootstrapClass, findBootstrapClass0, findClass, findLibrary, findLoadedClass, findNative, findResource, findResources, findSystemClass, getBootstrapClassPath, getBootstrapResource, getBootstrapResources, getCallerClassLoader, getDefaultDomain, getGetClassLoaderPerm, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, initializePath, isAncestor, loadClass, loadClassInternal, loadLibrary, loadLibrary0, removeSystemClassLoader, resolveClass, resolveClass0, setSigners
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, registerNatives, toString, wait, wait, wait
 

Field Detail

BUFFER_SIZE

private static final int BUFFER_SIZE

readBuffer

private final byte[] readBuffer

_checkedPackages

private final HashMap _checkedPackages
Map of package name (string) to whether must use system loader (boolean).
Constructor Detail

DrJavaClassLoader

public DrJavaClassLoader()

DrJavaClassLoader

public DrJavaClassLoader(URL[] urls)

DrJavaClassLoader

public DrJavaClassLoader(URL[] urls,
                         ClassLoader parent)
Method Detail

dotToSlash

public static String dotToSlash(String s)

replaceSubstring

public static String replaceSubstring(String orig,
                                      String find,
                                      String repl)
Replace all instances of find with repl in orig, and return the new String.

readClassFile

private byte[] readClassFile(String className)
                      throws IOException
Gets byte[] for class file, or throws IOException.

loadClass

protected Class loadClass(String name,
                          boolean resolve)
                   throws ClassNotFoundException
Overrides:
loadClass in class ClassLoader

mustUseSystemLoader

public boolean mustUseSystemLoader(String name)