home *** CD-ROM | disk | FTP | other *** search
- package jclass.util;
-
- public class JCStringTokenizer {
- private int index;
- private String string;
- private int length;
- private boolean count = false;
- public boolean strip_esc = true;
- private char[] token;
-
- public JCStringTokenizer(String var1) {
- if (var1 != null) {
- this.string = var1.trim();
- this.length = this.string.length();
- }
-
- }
-
- public static String[] parse(String var0, char var1) {
- JCStringTokenizer var2 = new JCStringTokenizer(var0);
- String[] var3 = new String[var2.countTokens(var1)];
-
- for(int var4 = 0; var4 < var3.length; ++var4) {
- var3[var4] = var2.nextToken(var1);
- }
-
- return var3;
- }
-
- public String nextToken() {
- if (this.string != null && this.index < this.length) {
- int var1;
- for(var1 = this.index; var1 < this.length && Character.isSpace(this.string.charAt(var1)); ++var1) {
- }
-
- this.index = var1;
- if (var1 >= this.length) {
- return null;
- } else {
- if (!this.count) {
- this.token = new char[this.length + 1];
- }
-
- var1 = this.index;
-
- for(int var2 = 0; var1 < this.length && !Character.isSpace(this.string.charAt(var1)); ++var1) {
- if (!this.count) {
- this.token[var2++] = this.string.charAt(var1);
- }
- }
-
- this.index = var1 + 1;
- return !this.count ? (new String(this.token)).trim() : null;
- }
- } else {
- return null;
- }
- }
-
- public String nextToken(char var1) {
- if (this.string != null && this.index < this.length) {
- if (!this.count) {
- this.token = new char[this.length + 1];
- }
-
- int var2 = this.index;
-
- int var3;
- for(var3 = 0; var2 < this.length; ++var3) {
- if (var2 + 1 < this.length && this.string.charAt(var2) == '\\') {
- if (!this.strip_esc) {
- if (this.token != null) {
- this.token[var3++] = this.string.charAt(var2);
- ++var2;
- this.token[var3] = this.string.charAt(var2);
- }
- } else {
- ++var2;
- if (!this.count) {
- if (this.string.charAt(var2) == 'n') {
- this.token[var3] = '\n';
- } else {
- this.token[var3] = this.string.charAt(var2);
- }
- }
- }
- } else {
- if (this.string.charAt(var2) == var1) {
- break;
- }
-
- if (!this.count) {
- this.token[var3] = this.string.charAt(var2);
- }
- }
-
- ++var2;
- }
-
- this.index = var2 + 1;
- return !this.count && var3 > 0 ? new String(this.token, 0, var3) : null;
- } else {
- return null;
- }
- }
-
- public int countTokens(char var1) {
- int var3 = this.index;
- this.count = true;
-
- int var2;
- for(var2 = 0; this.index < this.length; ++var2) {
- this.nextToken(var1);
- }
-
- this.index = var3;
- this.count = false;
- return var2;
- }
-
- public boolean hasMoreTokens() {
- return this.index < this.length;
- }
-
- public int getPosition() {
- return this.index;
- }
- }
-