2 * $Id: ItemList.java,v 1.1 2006/04/15 14:10:48 platform Exp $
5 package org.json.simple;
7 import java.util.ArrayList;
9 import java.util.StringTokenizer;
12 * |a:b:c| => |a|,|b|,|c| |:| => ||,|| |a:| => |a|,||
14 * @author FangYidong<fangyidong@yahoo.com.cn>
18 private String sp = ",";
20 List items = new ArrayList();
26 public ItemList(String s)
28 this.split(s, sp, items);
31 public ItemList(String s, String sp)
34 this.split(s, sp, items);
37 public ItemList(String s, String sp, boolean isMultiToken)
39 split(s, sp, items, isMultiToken);
42 public List getItems()
47 public String[] getArray()
49 return (String[]) this.items.toArray();
52 public void split(String s, String sp, List append, boolean isMultiToken)
54 if (s == null || sp == null)
58 StringTokenizer tokens = new StringTokenizer(s, sp);
59 while (tokens.hasMoreTokens())
61 append.add(tokens.nextToken().trim());
66 this.split(s, sp, append);
70 public void split(String s, String sp, List append)
72 if (s == null || sp == null)
79 pos = s.indexOf(sp, pos);
82 append.add(s.substring(prevPos, pos).trim());
85 append.add(s.substring(prevPos).trim());
88 public void setSP(String sp)
93 public void add(int i, String item)
97 items.add(i, item.trim());
100 public void add(String item)
104 items.add(item.trim());
107 public void addAll(ItemList list)
109 items.addAll(list.items);
112 public void addAll(String s)
114 this.split(s, sp, items);
117 public void addAll(String s, String sp)
119 this.split(s, sp, items);
122 public void addAll(String s, String sp, boolean isMultiToken)
124 this.split(s, sp, items, isMultiToken);
132 public String get(int i)
134 return (String) items.get(i);
142 public String toString()
147 public String toString(String sp)
149 StringBuffer sb = new StringBuffer();
151 for (int i = 0; i < items.size(); i++)
154 sb.append(items.get(i));
158 sb.append(items.get(i));
161 return sb.toString();