home *** CD-ROM | disk | FTP | other *** search
/ PC Online 1997 October / PCO1097.ISO / FilesBBS / WIN95 / IAVAZIP.EXE / DATA.Z / PatternDescriptor.class (.txt) < prev    next >
Encoding:
Java Class File  |  1997-08-18  |  1.2 KB  |  65 lines

  1. package com.sfs.util;
  2.  
  3. import java.util.StringTokenizer;
  4.  
  5. class PatternDescriptor {
  6.    String[] Parts;
  7.  
  8.    public String toString() {
  9.       StringBuffer var1 = new StringBuffer("PatternDescriptor[parts=");
  10.       var1.append(this.Parts.length).append(", ");
  11.  
  12.       int var2;
  13.       for(var2 = 0; var2 < this.Parts.length; ++var2) {
  14.          var1.append("{\"" + this.Parts[var2] + "\"}, ");
  15.       }
  16.  
  17.       if (var2 != 0) {
  18.          var1.setLength(var1.length() - 2);
  19.       }
  20.  
  21.       var1.append(" ]");
  22.       return var1.toString();
  23.    }
  24.  
  25.    public boolean equals(String var1) {
  26.       StringTokenizer var2 = new StringTokenizer(var1, ".");
  27.  
  28.       label30:
  29.       for(int var3 = 0; var3 < this.Parts.length; ++var3) {
  30.          if (!var2.hasMoreTokens()) {
  31.             return false;
  32.          }
  33.  
  34.          String var4 = var2.nextToken();
  35.          String var5 = this.Parts[var3];
  36.          int var6 = 0;
  37.  
  38.          while(var6 < var5.length()) {
  39.             switch (var5.charAt(var6)) {
  40.                case '*':
  41.                   continue label30;
  42.                default:
  43.                   if (var5.charAt(var6) != var4.charAt(var6)) {
  44.                      return false;
  45.                   }
  46.                case '?':
  47.                   ++var6;
  48.             }
  49.          }
  50.       }
  51.  
  52.       return true;
  53.    }
  54.  
  55.    public PatternDescriptor(String var1) {
  56.       var1 = var1.toLowerCase();
  57.       StringTokenizer var2 = new StringTokenizer(var1, ".");
  58.       this.Parts = new String[var2.countTokens()];
  59.  
  60.       for(int var3 = 0; var2.hasMoreTokens(); this.Parts[var3++] = var2.nextToken()) {
  61.       }
  62.  
  63.    }
  64. }
  65.