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 / DocURLConnection.class (.txt) next >
Encoding:
Java Class File  |  1979-12-31  |  2.1 KB  |  75 lines

  1. package sun.net.www.protocol.doc;
  2.  
  3. import java.io.BufferedInputStream;
  4. import java.io.File;
  5. import java.io.FileInputStream;
  6. import java.io.FilePermission;
  7. import java.io.IOException;
  8. import java.io.InputStream;
  9. import java.net.FileNameMap;
  10. import java.net.URL;
  11. import java.security.AccessController;
  12. import java.security.Permission;
  13. import sun.net.www.MessageHeader;
  14. import sun.net.www.URLConnection;
  15. import sun.security.action.GetPropertyAction;
  16.  
  17. public class DocURLConnection extends URLConnection {
  18.    // $FF: renamed from: is java.io.InputStream
  19.    InputStream field_0;
  20.    String filename;
  21.    Permission permission;
  22.    static String installDirectory = (String)AccessController.doPrivileged(new GetPropertyAction("hotjava.home"));
  23.  
  24.    DocURLConnection(URL var1) {
  25.       super(var1);
  26.    }
  27.  
  28.    public void connect() throws IOException {
  29.       String var1 = installDirectory + super.url.getFile();
  30.       MessageHeader var2 = new MessageHeader();
  31.       FileNameMap var3 = java.net.URLConnection.getFileNameMap();
  32.       String var4 = var3.getContentTypeFor(var1);
  33.       if (var4 != null) {
  34.          var2.add("content-type", var4);
  35.       }
  36.  
  37.       ((URLConnection)this).setProperties(var2);
  38.       File var5 = new File(var1);
  39.       if (var5.exists()) {
  40.          var2.add("Content-length", String.valueOf(var5.length()));
  41.       }
  42.  
  43.       this.filename = var1.replace('/', File.separatorChar);
  44.       this.field_0 = new BufferedInputStream(new FileInputStream(this.filename));
  45.       super.connected = true;
  46.    }
  47.  
  48.    public synchronized InputStream getInputStream() throws IOException {
  49.       if (!super.connected) {
  50.          this.connect();
  51.       }
  52.  
  53.       return this.field_0;
  54.    }
  55.  
  56.    public Permission getPermission() throws IOException {
  57.       if (this.permission == null) {
  58.          if (File.separatorChar == '/') {
  59.             this.permission = new FilePermission(super.url.getFile(), "read");
  60.          } else {
  61.             this.permission = new FilePermission(super.url.getFile().replace('/', File.separatorChar), "read");
  62.          }
  63.       }
  64.  
  65.       return this.permission;
  66.    }
  67.  
  68.    static {
  69.       if (installDirectory == null) {
  70.          installDirectory = "/usr/local/hotjava";
  71.       }
  72.  
  73.    }
  74. }
  75.