## org.opencyc.javashell
Class MultiClassLoader

    java.lang.Object
      |
      +--java.lang.ClassLoader
            |
            +--org.opencyc.javashell.MultiClassLoader

Direct Known Subclasses:
  JarClassLoader

public abstract class MultiClassLoader
extends java.lang.ClassLoader

A simple test class loader capable of loading from multiple sources, such as local files or a URL.
This class is derived from an article by Chuck McManis http://www.javaworld.com/javaworld/jw-10-1996/indepth.src.html with large modifications.
Note that this has been updated to use the non-deprecated version of defineClass() -- JDM.
Simplified by siege on 4-27-01

Author:
  Jack Harich - 8/18/97, John D. Mitchell - 99.03.04, Siege - 2001.04.26

Constructor Summary
`MultiClassLoader()`

Method Summary
`protected java.lang.String` `formatClassName(java.lang.String className)`
`java.lang.Class` `loadClass(java.lang.String className)` This is a simple version for external clients since they will always want the class resolved before it is returned to them.
`java.lang.Class` `loadClass(java.lang.String className, boolean resolveIt)`
`protected abstract byte[]` `loadClassBytes(java.lang.String className)`
`void` `setClassNameReplacementChar(char replacement)` This optional call allows a class name such as "COM.test.Hello" to be changed to "COM_test_Hello", which is useful for storing classes from different packages in the same retrival directory.

Methods inherited from class java.lang.ClassLoader
`defineClass, defineClass, defineClass, definePackage, findClass, findLibrary, findLoadedClass, findResource, findResources, findSystemClass, getPackage, getPackages, getParent, getResource, getResourceAsStream, getResources, getSystemClassLoader, getSystemResource, getSystemResourceAsStream, getSystemResources, resolveClass, setSigners`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### MultiClassLoader

    public MultiClassLoader()

Method Detail

### loadClass

    public java.lang.Class loadClass(java.lang.String className)
                              throws java.lang.ClassNotFoundException

  This is a simple version for external clients since they will always want the class resolved before it is returned to them.
  Overrides:
    `loadClass` in class `java.lang.ClassLoader`

### loadClass

    public java.lang.Class loadClass(java.lang.String className,
                                     boolean resolveIt)
                              throws java.lang.ClassNotFoundException

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

### setClassNameReplacementChar

    public void setClassNameReplacementChar(char replacement)

  This optional call allows a class name such as "COM.test.Hello" to be changed to "COM_test_Hello", which is useful for storing classes from different packages in the same retrival directory. In the above example the char would be '_'.

### loadClassBytes

    protected abstract byte[] loadClassBytes(java.lang.String className)

### formatClassName

    protected java.lang.String formatClassName(java.lang.String className)