KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > net > killingar > DelimitedString


1 /* Copyright 2000-2005 Anders Hovmöller
2  *
3  * The person or persons who have associated their work with
4  * this document (the "Dedicator") hereby dedicate the entire
5  * copyright in the work of authorship identified below (the
6  * "Work") to the public domain.
7  *
8  * Dedicator makes this dedication for the benefit of the
9  * public at large and to the detriment of Dedicator's heirs
10  * and successors. Dedicator intends this dedication to be an
11  * overt act of relinquishment in perpetuity of all present
12  * and future rights under copyright law, whether vested or
13  * contingent, in the Work. Dedicator understands that such
14  * relinquishment of all rights includes the relinquishment of
15  * all rights to enforce (by lawsuit or otherwise) those
16  * copyrights in the Work.
17  *
18  * Dedicator recognizes that, once placed in the public
19  * domain, the Work may be freely reproduced, distributed,
20  * transmitted, used, modified, built upon, or otherwise
21  * exploited by anyone for any purpose, commercial or non-
22  * commercial, and in any way, including by methods that have
23  * not yet been invented or conceived.
24  */

25
26 package net.killingar;
27
28 import java.util.StringTokenizer JavaDoc;
29
30 class DelimitedString
31 {
32     public static final int END = -1;
33
34     private String JavaDoc segments[] = null;
35     private String JavaDoc padding[] = null;
36
37     public DelimitedString(String JavaDoc source)
38     {
39         StringTokenizer JavaDoc st = new StringTokenizer JavaDoc(source, " \t\n\r\f", false);
40
41         segments = new String JavaDoc[st.countTokens()];
42         padding = new String JavaDoc[segments.length];
43
44         int i = 0;
45         while(st.hasMoreTokens())
46         {
47             segments[i] = st.nextToken();
48             //if (st.hasMoreTokens())
49
//padding[i] = st.nextToken();
50

51             //if (padding[i] == null)
52
//padding[i] = "";
53

54             i++;
55         }
56     }
57
58     public String JavaDoc getSegment(int i)
59     {
60      if(i < segments.length) return segments[i];
61      else return null;
62     }
63
64     public String JavaDoc getSegmentsBetween(int start, int end)
65     {
66      StringBuffer JavaDoc sb = new StringBuffer JavaDoc();
67
68      if(end == END)
69          end = segments.length;
70
71      for(int i = start;i < end; i++)
72      {
73          if(i > start) sb.append(" ");
74          sb.append(segments[i]);
75      }
76
77      return sb.toString();
78     }
79 }
Popular Tags