Skip to content

Commit 92b2f3c

Browse files
committed
Initial commit
0 parents  commit 92b2f3c

18 files changed

Lines changed: 3199 additions & 0 deletions
Lines changed: 147 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,147 @@
1+
/*
2+
* $Id: ItemList.java,v 1.1 2006/04/15 14:10:48 platform Exp $
3+
* Created on 2006-3-24
4+
*/
5+
package org.json.simple;
6+
7+
import java.util.ArrayList;
8+
import java.util.List;
9+
import java.util.StringTokenizer;
10+
11+
/**
12+
* |a:b:c| => |a|,|b|,|c|
13+
* |:| => ||,||
14+
* |a:| => |a|,||
15+
* @author FangYidong<fangyidong@yahoo.com.cn>
16+
*/
17+
public class ItemList {
18+
private String sp=",";
19+
List items=new ArrayList();
20+
21+
22+
public ItemList(){}
23+
24+
25+
public ItemList(String s){
26+
this.split(s,sp,items);
27+
}
28+
29+
public ItemList(String s,String sp){
30+
this.sp=s;
31+
this.split(s,sp,items);
32+
}
33+
34+
public ItemList(String s,String sp,boolean isMultiToken){
35+
split(s,sp,items,isMultiToken);
36+
}
37+
38+
public List getItems(){
39+
return this.items;
40+
}
41+
42+
public String[] getArray(){
43+
return (String[])this.items.toArray();
44+
}
45+
46+
public void split(String s,String sp,List append,boolean isMultiToken){
47+
if(s==null || sp==null)
48+
return;
49+
if(isMultiToken){
50+
StringTokenizer tokens=new StringTokenizer(s,sp);
51+
while(tokens.hasMoreTokens()){
52+
append.add(tokens.nextToken().trim());
53+
}
54+
}
55+
else{
56+
this.split(s,sp,append);
57+
}
58+
}
59+
60+
public void split(String s,String sp,List append){
61+
if(s==null || sp==null)
62+
return;
63+
int pos=0;
64+
int prevPos=0;
65+
do{
66+
prevPos=pos;
67+
pos=s.indexOf(sp,pos);
68+
if(pos==-1)
69+
break;
70+
append.add(s.substring(prevPos,pos).trim());
71+
pos+=sp.length();
72+
}while(pos!=-1);
73+
append.add(s.substring(prevPos).trim());
74+
}
75+
76+
public void setSP(String sp){
77+
this.sp=sp;
78+
}
79+
80+
public void add(int i,String item){
81+
if(item==null)
82+
return;
83+
items.add(i,item.trim());
84+
}
85+
86+
public void add(String item){
87+
if(item==null)
88+
return;
89+
items.add(item.trim());
90+
}
91+
92+
public void addAll(ItemList list){
93+
items.addAll(list.items);
94+
}
95+
96+
public void addAll(String s){
97+
this.split(s,sp,items);
98+
}
99+
100+
public void addAll(String s,String sp){
101+
this.split(s,sp,items);
102+
}
103+
104+
public void addAll(String s,String sp,boolean isMultiToken){
105+
this.split(s,sp,items,isMultiToken);
106+
}
107+
108+
/**
109+
* @param i 0-based
110+
* @return
111+
*/
112+
public String get(int i){
113+
return (String)items.get(i);
114+
}
115+
116+
public int size(){
117+
return items.size();
118+
}
119+
120+
public String toString(){
121+
return toString(sp);
122+
}
123+
124+
public String toString(String sp){
125+
StringBuffer sb=new StringBuffer();
126+
127+
for(int i=0;i<items.size();i++){
128+
if(i==0)
129+
sb.append(items.get(i));
130+
else{
131+
sb.append(sp);
132+
sb.append(items.get(i));
133+
}
134+
}
135+
return sb.toString();
136+
137+
}
138+
139+
public void clear(){
140+
items.clear();
141+
}
142+
143+
public void reset(){
144+
sp=",";
145+
items.clear();
146+
}
147+
}

0 commit comments

Comments
 (0)