org.iids.aos.util
Class JarClassLoader

java.lang.Object
  extended by java.lang.ClassLoader
      extended by org.iids.aos.util.JarClassLoader

public class JarClassLoader
extends java.lang.ClassLoader

ClassLoader implementation that can load classes directly from a jar file in memory, without having to write this jar file to disk. This is useful when we receive a jar file from an agent or different source, when it is not possible to use the URLClassLoader.

For now, this supports a single jar file only. So this should be suitable for agents. Multiple jar files (like library files) may be supported at a later stage.

Author:
Reinier Timmer (rjtimmer@cs.vu.nl)

Constructor Summary
JarClassLoader(byte[] bytes)
          Create a new class loader, with an jar data in memory.
 
Method Summary
 java.io.InputStream getResourceAsStream(java.lang.String name)
           
protected  java.lang.Class loadClass(java.lang.String name, boolean resolve)
           
 
Methods inherited from class java.lang.ClassLoader
clearAssertionStatus, defineClass, defineClass, defineClass, defineClass, definePackage, findClass, 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

JarClassLoader

public JarClassLoader(byte[] bytes)
Create a new class loader, with an jar data in memory.

Parameters:
bytes - The JAR file as a byte array.
Method Detail

loadClass

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

getResourceAsStream

public java.io.InputStream getResourceAsStream(java.lang.String name)
Overrides:
getResourceAsStream in class java.lang.ClassLoader


Copyright © 2003, 2004 IIDS Group. All Rights Reserved.