SharedLibLoader.java [plain text]
package gnu.gcj.runtime;
import java.util.Hashtable;
public class SharedLibLoader extends ClassLoader
{
public native void finalize ();
void registerClass(String name, Class cls)
{
classMap.put(name, cls);
}
public SharedLibLoader(String libname, ClassLoader parent, int flags)
{
super(parent);
init(libname, flags);
}
public SharedLibLoader(String libname)
{
super(getSystemClassLoader());
init(libname, 0);
}
void init(String libname, int flags)
{
init(libname.getBytes(), flags);
}
native void init(byte[] libname, int flags);
public Class loadClass(String name)
throws ClassNotFoundException
{
return super.loadClass(name);
}
public Class findClass(String name)
throws ClassNotFoundException
{
Object cls = classMap.get(name);
if (cls == null)
throw new ClassNotFoundException(name);
return (Class) cls;
}
gnu.gcj.RawData handler;
Hashtable classMap = new Hashtable(20);
}