diff options
author | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-14 23:16:11 +0000 |
---|---|---|
committer | mark <mark@138bc75d-0d04-0410-961f-82ee72b054a4> | 2002-02-14 23:16:11 +0000 |
commit | 84d120cc49d42a79bfbc68fe36429395bdef90fd (patch) | |
tree | 2b8e89cbcec8051aec3a4bab7d43c0c0d2c02ffe /libjava/java/rmi | |
parent | 826402d75c406835150a4c0948931b0d4319c006 (diff) | |
download | gcc-84d120cc49d42a79bfbc68fe36429395bdef90fd.tar.gz |
2002-02-14 Mark Wielaard <mark@klomp.org>
* java/math/BigInteger.java: import gnu.java.math.MPN not the whole
package as a workaround for gcj 3.0.x
2002-02-14 Mark Wielaard <mark@klomp.org>
* java/security/BasicPermission.java: extends with fully qualified
classname as workaround for gcj 3.0.4.
2002-02-14 Eric Blake <ebb9@email.byu.edu>
* java/net/DatagramSocketImpl.java (setOption, getOption): Work
around gcj bug of wrong emitted qualifier for inherited method.
* java/net/SocketImpl.java (setOption, getOption): Ditto.
* java/util/WeakHashMap.java (WeakEntrySet): Add non-private
constructor to reduce amount of emitted bytecode. While this
happens to work around a jikes 1.15 bug, it is still a useful
patch even for correct compilers.
* java/rmi/server/RMIClassLoader.java (MyClassLoader): Ditto.
* gnu/java/rmi/server/UnicastRemoteCall.java
(DummyObjectOutputStream, DummyObjectInputStream): Ditto.
2002-02-14 Eric Blake <ebb9@email.byu.edu>
* java/net/DatagramSocketImpl.java: Reformat (no code changes).
* java/net/SocketImpl.java: Ditto.
* java/rmi/server/RMIClassLoader.java: Ditto.
* gnu/java/rmi/server/UnicastRemoteCall.java: Ditto.
2002-02-14 Mark Wielaard <mark@klomp.org>
Thanks to Takashi Okamoto
* java/util/Arrays.java (ArrayList.indexOf()): this.equals().
* java/util/Arrays.java (ArrayList.lastIndexOf()): Likewise.
* java/util/WeakHashMap.java (WeakEntry.getEntry()): this.get().
git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@49778 138bc75d-0d04-0410-961f-82ee72b054a4
Diffstat (limited to 'libjava/java/rmi')
-rw-r--r-- | libjava/java/rmi/server/RMIClassLoader.java | 137 |
1 files changed, 80 insertions, 57 deletions
diff --git a/libjava/java/rmi/server/RMIClassLoader.java b/libjava/java/rmi/server/RMIClassLoader.java index d6eb13fa260..cde97b0452e 100644 --- a/libjava/java/rmi/server/RMIClassLoader.java +++ b/libjava/java/rmi/server/RMIClassLoader.java @@ -1,5 +1,5 @@ -/* - Copyright (c) 1996, 1997, 1998, 1999 Free Software Foundation, Inc. +/* RMIClassLoader.java + Copyright (c) 1996, 1997, 1998, 1999, 2002 Free Software Foundation, Inc. This file is part of GNU Classpath. @@ -7,7 +7,7 @@ GNU Classpath is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2, or (at your option) any later version. - + GNU Classpath is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU @@ -44,59 +44,82 @@ import java.io.DataInputStream; import java.net.MalformedURLException; import java.util.StringTokenizer; -public class RMIClassLoader { - -static private class MyClassLoader extends ClassLoader { - -Class defineClass(String name, byte[] data) { - return (defineClass(name, data, 0, data.length)); -} -} -static private MyClassLoader loader = new MyClassLoader(); - -/** - * @deprecated - */ -public static Class loadClass(String name) throws MalformedURLException, ClassNotFoundException { - return (loadClass(System.getProperty("java.rmi.server.codebase"), name)); -} - -public static Class loadClass(URL codebase, String name) throws MalformedURLException, ClassNotFoundException { - URL u = new URL(codebase, name + ".class"); - try { - URLConnection conn = u.openConnection(); - DataInputStream strm = new DataInputStream(conn.getInputStream()); - byte data[] = new byte[conn.getContentLength()]; - strm.readFully(data); - return (loader.defineClass(name, data)); - } - catch (IOException _) { - throw new ClassNotFoundException(name); - } -} - -public static Class loadClass(String codebase, String name) throws MalformedURLException, ClassNotFoundException { - StringTokenizer tok = new StringTokenizer(codebase, ":"); - while (tok.hasMoreTokens()) { - try { - return (loadClass(new URL(tok.nextToken()), name)); - } - catch (ClassNotFoundException _) { - // Ignore - try the next one. - } - } - throw new ClassNotFoundException(name); -} - -public static String getClassAnnotation(Class cl) { - return (null); // We don't yet do this. -} - -/** - * @deprecated - */ -public static Object getSecurityContext(ClassLoader loader) { - throw new Error("Not implemented"); -} +public class RMIClassLoader +{ + + static private class MyClassLoader extends ClassLoader + { + /** + * Non-private constructor to reduce bytecode emitted. + */ + MyClassLoader() + { + } + + Class defineClass(String name, byte[] data) + { + return defineClass(name, data, 0, data.length); + } + } + + static private MyClassLoader loader = new MyClassLoader(); + + /** + * @deprecated + */ + public static Class loadClass(String name) + throws MalformedURLException, ClassNotFoundException + { + return loadClass(System.getProperty("java.rmi.server.codebase"), name); + } + + public static Class loadClass(URL codebase, String name) + throws MalformedURLException, ClassNotFoundException + { + URL u = new URL(codebase, name + ".class"); + try + { + URLConnection conn = u.openConnection(); + DataInputStream strm = new DataInputStream(conn.getInputStream()); + byte data[] = new byte[conn.getContentLength()]; + strm.readFully(data); + return loader.defineClass(name, data); + } + catch (IOException _) + { + throw new ClassNotFoundException(name); + } + } + + public static Class loadClass(String codebase, String name) + throws MalformedURLException, ClassNotFoundException + { + StringTokenizer tok = new StringTokenizer(codebase, ":"); + while (tok.hasMoreTokens()) + { + try + { + return loadClass(new URL(tok.nextToken()), name); + } + catch (ClassNotFoundException _) + { + // Ignore - try the next one. + } + } + throw new ClassNotFoundException(name); + } + + public static String getClassAnnotation(Class cl) + { + return null; // We don't yet do this. + } + + /** + * @deprecated + */ + public static Object getSecurityContext(ClassLoader loader) + { + throw new Error("Not implemented"); + } } |