aboutsummaryrefslogtreecommitdiff
path: root/libjava/java/lang/ClassLoader.java
diff options
context:
space:
mode:
Diffstat (limited to 'libjava/java/lang/ClassLoader.java')
-rw-r--r--libjava/java/lang/ClassLoader.java94
1 files changed, 94 insertions, 0 deletions
diff --git a/libjava/java/lang/ClassLoader.java b/libjava/java/lang/ClassLoader.java
new file mode 100644
index 0000000..048cea7
--- /dev/null
+++ b/libjava/java/lang/ClassLoader.java
@@ -0,0 +1,94 @@
+// ClassLoader.java - Define policies for loading Java classes.
+
+/* Copyright (C) 1998, 1999 Cygnus Solutions
+
+ This file is part of libgcj.
+
+This software is copyrighted work licensed under the terms of the
+Libgcj License. Please consult the file "LIBGCJ_LICENSE" for
+details. */
+
+package java.lang;
+import java.io.InputStream;
+import java.util.Hashtable;
+
+/**
+ * @author Tom Tromey <tromey@cygnus.com>
+ * @date October 28, 1998
+ */
+
+/* Written using "Java Class Libraries", 2nd edition, ISBN 0-201-31002-3
+ * Status: Just a stub; not useful at all.
+ */
+
+public abstract class ClassLoader
+{
+ protected ClassLoader ()
+ {
+ cache = new Hashtable ();
+ }
+
+ protected final Class defineClass (String className, byte[] bytecode,
+ int offset, int length)
+ {
+ throw new ClassFormatError ("defineClass unimplemented");
+ }
+
+ protected final Class defineClass (byte[] bytecodes,
+ int offset, int length)
+ {
+ return defineClass (null, bytecodes, offset, length);
+ }
+
+ protected final Class findLoadedClass (String className)
+ {
+ return (Class) cache.get(className);
+ }
+
+ protected final Class findSystemClass (String className)
+ throws ClassNotFoundException
+ {
+ Class c = system.findLoadedClass(className);
+ system.resolveClass(c);
+ return c;
+ }
+
+ // FIXME: Needs URL.
+ // public URL getResource (String resName);
+
+ public InputStream getResourceAsStream (String resName)
+ {
+ return null;
+ }
+
+ // FIXME: Needs URL.
+ // public static final URL getSystemResource (String resName);
+
+ public static final InputStream getSystemResourceAsStream (String resName)
+ {
+ return null;
+ }
+
+ protected abstract Class loadClass (String className, boolean resolve)
+ throws ClassNotFoundException;
+ public Class loadClass (String name) throws ClassNotFoundException
+ {
+ return loadClass (name, true);
+ }
+
+ protected final void resolveClass (Class c)
+ {
+ // Nothing for now.
+ }
+
+ protected final void setSigners (Class cl, Object[] signers)
+ {
+ // Nothing for now.
+ }
+
+ // Class cache.
+ private Hashtable cache;
+
+ // The system class loader. FIXME: should have an actual value
+ private static final ClassLoader system = null;
+}