home *** CD-ROM | disk | FTP | other *** search
/ S283 Planetary Science &n…he Search for Life DVD 2 / DVD-ROM.iso / install / jre1_3 / lib / rt.jar / sun / net / www / protocol / doc / Handler.class (.txt) < prev   
Encoding:
Java Class File  |  1979-12-31  |  1.6 KB  |  63 lines

  1. package sun.net.www.protocol.doc;
  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.URLConnection;
  8. import java.net.URLStreamHandler;
  9. import java.security.AccessController;
  10. import sun.security.action.GetPropertyAction;
  11.  
  12. public class Handler extends URLStreamHandler {
  13.    static String base = (String)AccessController.doPrivileged(new GetPropertyAction("doc.url"));
  14.    static String installDirectory;
  15.  
  16.    public synchronized URLConnection openConnection(URL var1) throws IOException {
  17.       String var2 = var1.getFile();
  18.       var2 = installDirectory + var2;
  19.       File var3 = new File(var2);
  20.       if (var3 != null && var3.exists() && !var3.isDirectory()) {
  21.          return new DocURLConnection(var1);
  22.       } else {
  23.          URLConnection var4 = null;
  24.  
  25.          URL var5;
  26.          try {
  27.             var2 = var1.getFile();
  28.             if (var2.charAt(0) == '/') {
  29.                var2 = var2.substring(1);
  30.             }
  31.  
  32.             var5 = new URL(base + var2);
  33.          } catch (MalformedURLException var7) {
  34.             var5 = null;
  35.          }
  36.  
  37.          if (var5 != null) {
  38.             var4 = var5.openConnection();
  39.          }
  40.  
  41.          if (var4 == null) {
  42.             throw new IOException("Can't find file for URL: " + var1.toExternalForm());
  43.          } else {
  44.             return var4;
  45.          }
  46.       }
  47.    }
  48.  
  49.    static {
  50.       if (base == null) {
  51.          base = "http://java.sun.com/HotJava/";
  52.       } else if (base.charAt(base.length() - 1) != '/') {
  53.          base = base + "/";
  54.       }
  55.  
  56.       installDirectory = (String)AccessController.doPrivileged(new GetPropertyAction("hotjava.home"));
  57.       if (installDirectory == null) {
  58.          installDirectory = "/usr/local/hotjava";
  59.       }
  60.  
  61.    }
  62. }
  63.