home *** CD-ROM | disk | FTP | other *** search
/ Sky at Night 2007 June / SAN CD 6-2007 CD-ROM 25.iso / pc / Software / AstroGrav_Win / Java / jre1.6.0 / lib / rt.jar / sun / misc / Launcher$AppClassLoader.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  2.8 KB  |  62 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.    // $FF: synthetic field
  17.    static final boolean $assertionsDisabled = !Launcher.class.desiredAssertionStatus();
  18.  
  19.    public static ClassLoader getAppClassLoader(ClassLoader var0) throws IOException {
  20.       String var1 = System.getProperty("java.class.path");
  21.       File[] var2 = var1 == null ? new File[0] : Launcher.access$200(var1);
  22.       return (Launcher$AppClassLoader)AccessController.doPrivileged(new Launcher.AppClassLoader.1(var1, var2, var0));
  23.    }
  24.  
  25.    Launcher$AppClassLoader(URL[] var1, ClassLoader var2) {
  26.       super(var1, var2, Launcher.access$100());
  27.    }
  28.  
  29.    public synchronized Class loadClass(String var1, boolean var2) throws ClassNotFoundException {
  30.       int var3 = var1.lastIndexOf(46);
  31.       if (var3 != -1) {
  32.          SecurityManager var4 = System.getSecurityManager();
  33.          if (var4 != null) {
  34.             var4.checkPackageAccess(var1.substring(0, var3));
  35.          }
  36.       }
  37.  
  38.       return super.loadClass(var1, var2);
  39.    }
  40.  
  41.    protected PermissionCollection getPermissions(CodeSource var1) {
  42.       PermissionCollection var2 = super.getPermissions(var1);
  43.       var2.add(new RuntimePermission("exitVM"));
  44.       return var2;
  45.    }
  46.  
  47.    private void appendToClassPathForInstrumentation(String var1) {
  48.       if (!$assertionsDisabled && !Thread.holdsLock(this)) {
  49.          throw new AssertionError();
  50.       } else {
  51.          super.addURL(Launcher.getFileURL(new File(var1)));
  52.       }
  53.    }
  54.  
  55.    private static AccessControlContext getContext(File[] var0) throws MalformedURLException {
  56.       PathPermissions var1 = new PathPermissions(var0);
  57.       ProtectionDomain var2 = new ProtectionDomain(new CodeSource(var1.getCodeBase(), (Certificate[])null), var1);
  58.       AccessControlContext var3 = new AccessControlContext(new ProtectionDomain[]{var2});
  59.       return var3;
  60.    }
  61. }
  62.