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 / javax / swing / JEditorPane$HeaderParser.class (.txt) < prev    next >
Encoding:
Java Class File  |  1979-12-31  |  1.7 KB  |  133 lines

  1. package javax.swing;
  2.  
  3. class JEditorPane$HeaderParser {
  4.    String raw;
  5.    String[][] tab;
  6.  
  7.    public JEditorPane$HeaderParser(String var1) {
  8.       this.raw = var1;
  9.       this.tab = new String[10][2];
  10.       this.parse();
  11.    }
  12.  
  13.    private void parse() {
  14.       if (this.raw != null) {
  15.          this.raw = this.raw.trim();
  16.          char[] var1 = this.raw.toCharArray();
  17.          int var2 = 0;
  18.          int var3 = 0;
  19.          int var4 = 0;
  20.          boolean var5 = true;
  21.          boolean var6 = false;
  22.          int var7 = var1.length;
  23.  
  24.          while(var3 < var7) {
  25.             char var8 = var1[var3];
  26.             if (var8 == '=') {
  27.                this.tab[var4][0] = (new String(var1, var2, var3 - var2)).toLowerCase();
  28.                var5 = false;
  29.                ++var3;
  30.                var2 = var3;
  31.             } else if (var8 == '"') {
  32.                if (!var6) {
  33.                   var6 = true;
  34.                   ++var3;
  35.                   var2 = var3;
  36.                } else {
  37.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  38.                   var6 = false;
  39.  
  40.                   do {
  41.                      ++var3;
  42.                   } while(var3 < var7 && (var1[var3] == ' ' || var1[var3] == ','));
  43.  
  44.                   var5 = true;
  45.                   var2 = var3;
  46.                }
  47.             } else if (var8 != ' ' && var8 != ',') {
  48.                ++var3;
  49.             } else if (var6) {
  50.                ++var3;
  51.             } else {
  52.                if (var5) {
  53.                   this.tab[var4++][0] = (new String(var1, var2, var3 - var2)).toLowerCase();
  54.                } else {
  55.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  56.                }
  57.  
  58.                while(var3 < var7 && (var1[var3] == ' ' || var1[var3] == ',')) {
  59.                   ++var3;
  60.                }
  61.  
  62.                var5 = true;
  63.                var2 = var3;
  64.             }
  65.          }
  66.  
  67.          --var3;
  68.          if (var3 > var2) {
  69.             if (!var5) {
  70.                if (var1[var3] == '"') {
  71.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2);
  72.                } else {
  73.                   this.tab[var4++][1] = new String(var1, var2, var3 - var2 + 1);
  74.                }
  75.             } else {
  76.                this.tab[var4][0] = (new String(var1, var2, var3 - var2 + 1)).toLowerCase();
  77.             }
  78.          } else if (var3 == var2) {
  79.             if (!var5) {
  80.                if (var1[var3] == '"') {
  81.                   this.tab[var4++][1] = String.valueOf(var1[var3 - 1]);
  82.                } else {
  83.                   this.tab[var4++][1] = String.valueOf(var1[var3]);
  84.                }
  85.             } else {
  86.                this.tab[var4][0] = String.valueOf(var1[var3]).toLowerCase();
  87.             }
  88.          }
  89.       }
  90.  
  91.    }
  92.  
  93.    public String findKey(int var1) {
  94.       return var1 >= 0 && var1 <= 10 ? this.tab[var1][0] : null;
  95.    }
  96.  
  97.    public String findValue(int var1) {
  98.       return var1 >= 0 && var1 <= 10 ? this.tab[var1][1] : null;
  99.    }
  100.  
  101.    public String findValue(String var1) {
  102.       return this.findValue(var1, (String)null);
  103.    }
  104.  
  105.    public String findValue(String var1, String var2) {
  106.       if (var1 == null) {
  107.          return var2;
  108.       } else {
  109.          var1.toLowerCase();
  110.  
  111.          for(int var3 = 0; var3 < 10; ++var3) {
  112.             if (this.tab[var3][0] == null) {
  113.                return var2;
  114.             }
  115.  
  116.             if (var1.equals(this.tab[var3][0])) {
  117.                return this.tab[var3][1];
  118.             }
  119.          }
  120.  
  121.          return var2;
  122.       }
  123.    }
  124.  
  125.    public int findInt(String var1, int var2) {
  126.       try {
  127.          return Integer.parseInt(this.findValue(var1, String.valueOf(var2)));
  128.       } catch (Throwable var4) {
  129.          return var2;
  130.       }
  131.    }
  132. }
  133.