package net.sourceforge.btthud.util; import java.util.StringTokenizer; import java.util.Vector; public class StringTokenParser { protected Vector<String> myTokens; protected int iCursor; public StringTokenParser (String myString, char delim) { iCursor = 0; char cDelim; StringTokenizer tk; cDelim = delim; char [] myChars = new char [1]; myChars [0] = cDelim; tk = new StringTokenizer (myString, new String (myChars), true); String myToken; myTokens = new Vector<String> (); while (true) { if (tk.hasMoreTokens ()) myToken = tk.nextToken (); else break; if (myToken.charAt (0) == cDelim) myTokens.add(""); else { myTokens.add (myToken); // This should be the delimiter if (tk.hasMoreTokens ()) tk.nextToken (); else break; } } } public int numTokens () { return myTokens.size (); } public String getToken (int iIdx) { return (String)myTokens.get(iIdx); } public void rewind () { iCursor = 0; } public String nextToken () { String sToken = getToken (iCursor); iCursor ++; return sToken; } }