home *** CD-ROM | disk | FTP | other *** search
/ PC Pro 1999 April / DPPCPRO0499.ISO / April / Notes / 50b2wic.exe / DATA1.CAB / NotesProgramFilesJavaSupport / rt.jar / java / net / URLStreamHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1998-04-23  |  2.5 KB  |  104 lines

  1. package java.net;
  2.  
  3. import java.io.File;
  4. import java.io.IOException;
  5.  
  6. public abstract class URLStreamHandler {
  7.    protected abstract URLConnection openConnection(URL var1) throws IOException;
  8.  
  9.    protected void parseURL(URL var1, String var2, int var3, int var4) {
  10.       String var5 = var1.getProtocol();
  11.       String var6 = var1.getHost();
  12.       int var7 = var1.getPort();
  13.       String var8 = var1.getFile();
  14.       String var9 = var1.getRef();
  15.       if (var3 <= var4 - 2 && var2.charAt(var3) == '/' && var2.charAt(var3 + 1) == '/') {
  16.          var3 += 2;
  17.          int var10 = var2.indexOf(47, var3);
  18.          if (var10 < 0) {
  19.             var10 = var4;
  20.          }
  21.  
  22.          int var11 = var2.indexOf(58, var3);
  23.          var7 = -1;
  24.          if (var11 < var10 && var11 >= 0) {
  25.             try {
  26.                var7 = Integer.parseInt(var2.substring(var11 + 1, var10));
  27.             } catch (Exception var13) {
  28.             }
  29.  
  30.             if (var11 > var3) {
  31.                var6 = var2.substring(var3, var11);
  32.             }
  33.          } else {
  34.             var6 = var2.substring(var3, var10);
  35.          }
  36.  
  37.          var3 = var10;
  38.          var8 = null;
  39.       } else if (var6 == null) {
  40.          var6 = "";
  41.       }
  42.  
  43.       if (var3 < var4) {
  44.          if (var8 != null) {
  45.             int var18 = var8.indexOf(63);
  46.             if (var18 > -1) {
  47.                int var12 = var8.lastIndexOf(63, var18);
  48.                ++var12;
  49.                var8 = var8.substring(0, var12);
  50.             }
  51.          }
  52.  
  53.          if (var2.charAt(var3) == '/') {
  54.             var8 = var2.substring(var3, var4);
  55.          } else if (var8 != null && var8.length() > 0) {
  56.             int var19 = Math.max(var8.lastIndexOf(47), var8.lastIndexOf(File.separatorChar));
  57.             var8 = var8.substring(0, var19) + "/" + var2.substring(var3, var4);
  58.          } else {
  59.             var8 = "/" + var2.substring(var3, var4);
  60.          }
  61.       }
  62.  
  63.       if (var8 == null || var8.length() == 0) {
  64.          var8 = "/";
  65.       }
  66.  
  67.       int var16;
  68.       while((var16 = var8.indexOf("/./")) >= 0) {
  69.          var8 = var8.substring(0, var16) + var8.substring(var16 + 2);
  70.       }
  71.  
  72.       while((var16 = var8.indexOf("/../")) >= 0) {
  73.          if ((var4 = var8.lastIndexOf(47, var16 - 1)) >= 0) {
  74.             var8 = var8.substring(0, var4) + var8.substring(var16 + 3);
  75.          } else {
  76.             var8 = var8.substring(var16 + 3);
  77.          }
  78.       }
  79.  
  80.       var1.set(var5, var6, var7, var8, var9);
  81.    }
  82.  
  83.    protected String toExternalForm(URL var1) {
  84.       String var2 = var1.getProtocol() + ":";
  85.       if (var1.getHost() != null && var1.getHost().length() > 0) {
  86.          var2 = var2 + "//" + var1.getHost();
  87.          if (var1.getPort() != -1) {
  88.             var2 = var2 + ":" + var1.getPort();
  89.          }
  90.       }
  91.  
  92.       var2 = var2 + var1.getFile();
  93.       if (var1.getRef() != null) {
  94.          var2 = var2 + "#" + var1.getRef();
  95.       }
  96.  
  97.       return var2;
  98.    }
  99.  
  100.    protected void setURL(URL var1, String var2, String var3, int var4, String var5, String var6) {
  101.       var1.set(var2, var3, var4, var5, var6);
  102.    }
  103. }
  104.