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.class (.txt) < prev    next >
Encoding:
Java Class File  |  2006-11-29  |  3.8 KB  |  157 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.URLStreamHandler;
  8. import java.net.URLStreamHandlerFactory;
  9. import java.security.AccessController;
  10. import sun.net.www.ParseUtil;
  11. import sun.security.action.GetPropertyAction;
  12.  
  13. public class Launcher {
  14.    private static URLStreamHandlerFactory factory = new Factory((1)null);
  15.    private static Launcher launcher = new Launcher();
  16.    private ClassLoader loader;
  17.    private static URLStreamHandler fileHandler;
  18.  
  19.    public static Launcher getLauncher() {
  20.       return launcher;
  21.    }
  22.  
  23.    public Launcher() {
  24.       ExtClassLoader var1;
  25.       try {
  26.          var1 = sun.misc.Launcher.ExtClassLoader.getExtClassLoader();
  27.       } catch (IOException var10) {
  28.          throw new InternalError("Could not create extension class loader");
  29.       }
  30.  
  31.       try {
  32.          this.loader = sun.misc.Launcher.AppClassLoader.getAppClassLoader(var1);
  33.       } catch (IOException var9) {
  34.          throw new InternalError("Could not create application class loader");
  35.       }
  36.  
  37.       Thread.currentThread().setContextClassLoader(this.loader);
  38.       String var2 = System.getProperty("java.security.manager");
  39.       if (var2 != null) {
  40.          SecurityManager var3 = null;
  41.          if (!"".equals(var2) && !"default".equals(var2)) {
  42.             try {
  43.                var3 = (SecurityManager)this.loader.loadClass(var2).newInstance();
  44.             } catch (IllegalAccessException var5) {
  45.             } catch (InstantiationException var6) {
  46.             } catch (ClassNotFoundException var7) {
  47.             } catch (ClassCastException var8) {
  48.             }
  49.          } else {
  50.             var3 = new SecurityManager();
  51.          }
  52.  
  53.          if (var3 == null) {
  54.             throw new InternalError("Could not create SecurityManager: " + var2);
  55.          }
  56.  
  57.          System.setSecurityManager(var3);
  58.       }
  59.  
  60.    }
  61.  
  62.    public ClassLoader getClassLoader() {
  63.       return this.loader;
  64.    }
  65.  
  66.    public static URLClassPath getBootstrapClassPath() {
  67.       String var0 = (String)AccessController.doPrivileged(new GetPropertyAction("sun.boot.class.path"));
  68.       URL[] var1;
  69.       if (var0 != null) {
  70.          var1 = (URL[])AccessController.doPrivileged(new 1(var0));
  71.       } else {
  72.          var1 = new URL[0];
  73.       }
  74.  
  75.       return new URLClassPath(var1, factory);
  76.    }
  77.  
  78.    private static URL[] pathToURLs(File[] var0) {
  79.       URL[] var1 = new URL[var0.length];
  80.  
  81.       for(int var2 = 0; var2 < var0.length; ++var2) {
  82.          var1[var2] = getFileURL(var0[var2]);
  83.       }
  84.  
  85.       return var1;
  86.    }
  87.  
  88.    private static File[] getClassPath(String var0) {
  89.       File[] var1;
  90.       if (var0 != null) {
  91.          int var2 = 0;
  92.          int var3 = 1;
  93.          int var4 = 0;
  94.  
  95.          for(int var5 = 0; (var4 = var0.indexOf(File.pathSeparator, var5)) != -1; var5 = var4 + 1) {
  96.             ++var3;
  97.          }
  98.  
  99.          var1 = new File[var3];
  100.          var4 = 0;
  101.  
  102.          int var11;
  103.          for(var11 = 0; (var4 = var0.indexOf(File.pathSeparator, var11)) != -1; var11 = var4 + 1) {
  104.             if (var4 - var11 > 0) {
  105.                var1[var2++] = new File(var0.substring(var11, var4));
  106.             } else {
  107.                var1[var2++] = new File(".");
  108.             }
  109.          }
  110.  
  111.          if (var11 < var0.length()) {
  112.             var1[var2++] = new File(var0.substring(var11));
  113.          } else {
  114.             var1[var2++] = new File(".");
  115.          }
  116.  
  117.          if (var2 != var3) {
  118.             File[] var6 = new File[var2];
  119.             System.arraycopy(var1, 0, var6, 0, var2);
  120.             var1 = var6;
  121.          }
  122.       } else {
  123.          var1 = new File[0];
  124.       }
  125.  
  126.       return var1;
  127.    }
  128.  
  129.    static URL getFileURL(File var0) {
  130.       try {
  131.          var0 = var0.getCanonicalFile();
  132.       } catch (IOException var3) {
  133.       }
  134.  
  135.       try {
  136.          return ParseUtil.fileToEncodedURL(var0);
  137.       } catch (MalformedURLException var2) {
  138.          throw new InternalError();
  139.       }
  140.    }
  141.  
  142.    // $FF: synthetic method
  143.    static URLStreamHandlerFactory access$100() {
  144.       return factory;
  145.    }
  146.  
  147.    // $FF: synthetic method
  148.    static File[] access$200(String var0) {
  149.       return getClassPath(var0);
  150.    }
  151.  
  152.    // $FF: synthetic method
  153.    static URL[] access$300(File[] var0) {
  154.       return pathToURLs(var0);
  155.    }
  156. }
  157.