home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1998 January / PCO0198.ISO / browser / net_linx / jae40.jar / sun / rmi / server / RMIClassLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-11-03  |  1.8 KB  |  69 lines

  1. package sun.rmi.server;
  2.  
  3. import java.net.MalformedURLException;
  4. import java.net.URL;
  5. import java.rmi.RMISecurityException;
  6. import java.util.Hashtable;
  7. import netscape.applet.AppletClassLoader;
  8.  
  9. public class RMIClassLoader extends AppletClassLoader {
  10.    private static Hashtable classloaders = new Hashtable();
  11.    private static boolean loaderenabled = true;
  12.    private static RMIClassLoader localloader = null;
  13.    private static boolean initlocalloader = true;
  14.  
  15.    static synchronized void flushClassLoader(URL var0) {
  16.       classloaders.remove(var0);
  17.    }
  18.  
  19.    public static synchronized RMIClassLoader getClassLoader(URL var0) {
  20.       if (System.getSecurityManager() == null) {
  21.          throw new RMISecurityException("No security manager, stub class loader disabled");
  22.       } else {
  23.          RMIClassLoader var1 = (RMIClassLoader)classloaders.get(var0);
  24.          if (var1 == null && loaderenabled) {
  25.             try {
  26.                var1 = new RMIClassLoader(var0);
  27.                classloaders.put(var0, var1);
  28.             } catch (Exception var2) {
  29.                loaderenabled = false;
  30.             }
  31.          }
  32.  
  33.          return var1;
  34.       }
  35.    }
  36.  
  37.    public static synchronized RMIClassLoader getLocalLoader() throws MalformedURLException {
  38.       if (initlocalloader) {
  39.          initlocalloader = false;
  40.          URL var0 = new URL("file:");
  41.  
  42.          try {
  43.             SecurityManager.enablePrivilege("UniversalPropertyRead");
  44.             String var1 = System.getProperty("java.rmi.server.codebase");
  45.             SecurityManager.revertPrivilege();
  46.             if (var1 != null && var1.length() != 0) {
  47.                URL var2 = new URL(var0, var1);
  48.                if (System.getSecurityManager() == null) {
  49.                   throw new RMISecurityException("No security manager, stub class loader disabled");
  50.                }
  51.  
  52.                localloader = new RMIClassLoader(var2);
  53.             }
  54.          } catch (MalformedURLException var3) {
  55.          }
  56.       }
  57.  
  58.       return localloader;
  59.    }
  60.  
  61.    public URL getCodeBase() {
  62.       return super.getCodeBase();
  63.    }
  64.  
  65.    private RMIClassLoader(URL var1) {
  66.       super(var1);
  67.    }
  68. }
  69.