home *** CD-ROM | disk | FTP | other *** search
- package sun.rmi.server;
-
- import java.io.IOException;
- import java.io.InputStream;
- import java.io.ObjectInputStream;
- import java.io.ObjectStreamClass;
- import java.io.StreamCorruptedException;
- import java.net.MalformedURLException;
- import java.net.URL;
- import sun.rmi.transport.Utils;
-
- public class MarshalInputStream extends ObjectInputStream {
- private static boolean codebaseonly = Utils.getBoolean("java.rmi.server.useCodebaseOnly");
-
- public MarshalInputStream(InputStream var1) throws IOException, StreamCorruptedException {
- super(var1);
- }
-
- protected Class resolveClass(ObjectStreamClass var1) throws IOException, ClassNotFoundException {
- Object var2 = ((ObjectInputStream)this).readObject();
-
- try {
- return super.resolveClass(var1);
- } catch (ClassNotFoundException var9) {
- String var4 = var1.getName();
- Object var5 = null;
- Object var6 = null;
-
- try {
- if (!codebaseonly && var2 != null && var2 instanceof String) {
- String var11 = (String)var2;
- URL var7 = new URL(var11);
- var10 = RMIClassLoader.getClassLoader(var7);
- } else {
- var10 = RMIClassLoader.getLocalLoader();
- }
- } catch (MalformedURLException var8) {
- throw new IOException("Malformed URL " + var6);
- }
-
- if (var10 != null) {
- return var10.loadClass(var4);
- } else {
- throw var9;
- }
- }
- }
- }
-