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

  1. package java.util;
  2.  
  3. public class StringTokenizer implements Enumeration {
  4.    private int currentPosition;
  5.    private int maxPosition;
  6.    private String str;
  7.    private String delimiters;
  8.    private boolean retTokens;
  9.  
  10.    public StringTokenizer(String var1, String var2, boolean var3) {
  11.       this.currentPosition = 0;
  12.       this.str = var1;
  13.       this.maxPosition = var1.length();
  14.       this.delimiters = var2;
  15.       this.retTokens = var3;
  16.    }
  17.  
  18.    public StringTokenizer(String var1, String var2) {
  19.       this(var1, var2, false);
  20.    }
  21.  
  22.    public StringTokenizer(String var1) {
  23.       this(var1, " \t\n\r", false);
  24.    }
  25.  
  26.    private void skipDelimiters() {
  27.       while(!this.retTokens && this.currentPosition < this.maxPosition && this.delimiters.indexOf(this.str.charAt(this.currentPosition)) >= 0) {
  28.          ++this.currentPosition;
  29.       }
  30.  
  31.    }
  32.  
  33.    public boolean hasMoreTokens() {
  34.       this.skipDelimiters();
  35.       return this.currentPosition < this.maxPosition;
  36.    }
  37.  
  38.    public String nextToken() {
  39.       this.skipDelimiters();
  40.       if (this.currentPosition >= this.maxPosition) {
  41.          throw new NoSuchElementException();
  42.       } else {
  43.          int var1;
  44.          for(var1 = this.currentPosition; this.currentPosition < this.maxPosition && this.delimiters.indexOf(this.str.charAt(this.currentPosition)) < 0; ++this.currentPosition) {
  45.          }
  46.  
  47.          if (this.retTokens && var1 == this.currentPosition && this.delimiters.indexOf(this.str.charAt(this.currentPosition)) >= 0) {
  48.             ++this.currentPosition;
  49.          }
  50.  
  51.          return this.str.substring(var1, this.currentPosition);
  52.       }
  53.    }
  54.  
  55.    public String nextToken(String var1) {
  56.       this.delimiters = var1;
  57.       return this.nextToken();
  58.    }
  59.  
  60.    public boolean hasMoreElements() {
  61.       return this.hasMoreTokens();
  62.    }
  63.  
  64.    public Object nextElement() {
  65.       return this.nextToken();
  66.    }
  67.  
  68.    public int countTokens() {
  69.       int var1 = 0;
  70.  
  71.       for(int var2 = this.currentPosition; var2 < this.maxPosition; ++var1) {
  72.          while(!this.retTokens && var2 < this.maxPosition && this.delimiters.indexOf(this.str.charAt(var2)) >= 0) {
  73.             ++var2;
  74.          }
  75.  
  76.          if (var2 >= this.maxPosition) {
  77.             break;
  78.          }
  79.  
  80.          int var3;
  81.          for(var3 = var2; var2 < this.maxPosition && this.delimiters.indexOf(this.str.charAt(var2)) < 0; ++var2) {
  82.          }
  83.  
  84.          if (this.retTokens && var3 == var2 && this.delimiters.indexOf(this.str.charAt(var2)) >= 0) {
  85.             ++var2;
  86.          }
  87.       }
  88.  
  89.       return var1;
  90.    }
  91. }
  92.