KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > kohsuke > stapler > TokenList


1 package org.kohsuke.stapler;
2
3 import java.util.StringTokenizer JavaDoc;
4
5 /**
6  * Tokenized strings.
7  *
8  * @author Kohsuke Kawaguchi
9  */

10 final class TokenList {
11     public final String JavaDoc[] tokens;
12     public int idx;
13
14     TokenList(String JavaDoc url) {
15         StringTokenizer JavaDoc tknzr = new StringTokenizer JavaDoc(url,"/");
16         tokens = new String JavaDoc[tknzr.countTokens()];
17         int i=0;
18         while(tknzr.hasMoreTokens())
19             tokens[i++] = tknzr.nextToken();
20     }
21
22     public boolean hasMore() {
23         return tokens.length!=idx;
24     }
25
26     public String JavaDoc peek() {
27         if(hasMore())
28             return tokens[idx];
29         else
30             return null;
31     }
32
33     public String JavaDoc next() {
34         return tokens[idx++];
35     }
36     public String JavaDoc prev() {
37         return tokens[--idx];
38     }
39     public int nextAsInt() throws NumberFormatException JavaDoc {
40         String JavaDoc p = peek();
41         if(p==null)
42             throw new NumberFormatException JavaDoc(); // no more token
43
int i = Integer.valueOf(p);
44         idx++;
45         return i;
46     }
47
48     public int length() {
49         return tokens.length;
50     }
51
52     public String JavaDoc get(int i) {
53         return tokens[i];
54     }
55
56     public int countRemainingTokens() {
57         return length()-idx;
58     }
59 }
60
Popular Tags