home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &… the Search for Life CD 3 / 0_CD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / misc / Launcher$AppClassLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  2.3 KB  |  51 lines

  1. package sun.misc;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5. import java.net.MalformedURLException;
  6. import java.net.URL;
  7. import java.net.URLClassLoader;
  8. import java.security.AccessControlContext;
  9. import java.security.AccessController;
  10. import java.security.CodeSource;
  11. import java.security.PermissionCollection;
  12. import java.security.ProtectionDomain;
  13. import java.security.cert.Certificate;
  14.  
  15. class Launcher$AppClassLoader extends URLClassLoader {
  16.    public static ClassLoader getAppClassLoader(ClassLoader var0) throws IOException {
  17.       String var1 = System.getProperty("java.class.path");
  18.       File[] var2 = var1 == null ? new File[0] : Launcher.access$200(var1);
  19.       return (Launcher$AppClassLoader)AccessController.doPrivileged(new Launcher.3(var1, var2, var0));
  20.    }
  21.  
  22.    Launcher$AppClassLoader(URL[] var1, ClassLoader var2) {
  23.       super(var1, var2, Launcher.access$100());
  24.    }
  25.  
  26.    public synchronized Class loadClass(String var1, boolean var2) throws ClassNotFoundException {
  27.       int var3 = var1.lastIndexOf(46);
  28.       if (var3 != -1) {
  29.          SecurityManager var4 = System.getSecurityManager();
  30.          if (var4 != null) {
  31.             var4.checkPackageAccess(var1.substring(0, var3));
  32.          }
  33.       }
  34.  
  35.       return super.loadClass(var1, var2);
  36.    }
  37.  
  38.    protected PermissionCollection getPermissions(CodeSource var1) {
  39.       PermissionCollection var2 = super.getPermissions(var1);
  40.       var2.add(new RuntimePermission("exitVM"));
  41.       return var2;
  42.    }
  43.  
  44.    private static AccessControlContext getContext(File[] var0) throws MalformedURLException {
  45.       PathPermissions var1 = new PathPermissions(var0);
  46.       ProtectionDomain var2 = new ProtectionDomain(new CodeSource(var1.getCodeBase(), (Certificate[])null), var1);
  47.       AccessControlContext var3 = new AccessControlContext(new ProtectionDomain[]{var2});
  48.       return var3;
  49.    }
  50. }
  51.