home *** CD-ROM | disk | FTP | other *** search
/ Symantec Visual Cafe for Java 2.5 / symantec-visual-cafe-2.5-database-dev-edition.iso / VPage / Java.bin / CLASSES.ZIP / java / net / URLStreamHandler.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-07-08  |  2.5 KB  |  95 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 var12) {
  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 (var2.charAt(var3) == '/') {
  45.             var8 = var2.substring(var3, var4);
  46.          } else if (var8 != null && var8.length() > 0) {
  47.             int var17 = Math.max(var8.lastIndexOf(47), var8.lastIndexOf(File.separatorChar));
  48.             var8 = var8.substring(0, var17) + "/" + var2.substring(var3, var4);
  49.          } else {
  50.             var8 = "/" + var2.substring(var3, var4);
  51.          }
  52.       }
  53.  
  54.       if (var8 == null || var8.length() == 0) {
  55.          var8 = "/";
  56.       }
  57.  
  58.       int var15;
  59.       while((var15 = var8.indexOf("/./")) >= 0) {
  60.          var8 = var8.substring(0, var15) + var8.substring(var15 + 2);
  61.       }
  62.  
  63.       while((var15 = var8.indexOf("/../")) >= 0) {
  64.          if ((var4 = var8.lastIndexOf(47, var15 - 1)) >= 0) {
  65.             var8 = var8.substring(0, var4) + var8.substring(var15 + 3);
  66.          } else {
  67.             var8 = var8.substring(var15 + 3);
  68.          }
  69.       }
  70.  
  71.       var1.set(var5, var6, var7, var8, var9);
  72.    }
  73.  
  74.    protected String toExternalForm(URL var1) {
  75.       String var2 = var1.getProtocol() + ":";
  76.       if (var1.getHost() != null && var1.getHost().length() > 0) {
  77.          var2 = var2 + "//" + var1.getHost();
  78.          if (var1.getPort() != -1) {
  79.             var2 = var2 + ":" + var1.getPort();
  80.          }
  81.       }
  82.  
  83.       var2 = var2 + var1.getFile();
  84.       if (var1.getRef() != null) {
  85.          var2 = var2 + "#" + var1.getRef();
  86.       }
  87.  
  88.       return var2;
  89.    }
  90.  
  91.    protected void setURL(URL var1, String var2, String var3, int var4, String var5, String var6) {
  92.       var1.set(var2, var3, var4, var5, var6);
  93.    }
  94. }
  95.