Clover icon

Coverage Report

  1. Project Clover database Wed Nov 13 2024 16:12:26 GMT
  2. Package org.json.simple

File ItemList.java

 

Coverage histogram

../../../img/srcFileCovDistChart0.png
59% of files have more coverage

Code metrics

20
49
21
1
175
135
33
0.67
2.33
21
1.57

Classes

Class Line # Actions
ItemList 16 49 33
0.00%
 

Contributing tests

No tests hitting this source file were found.

Source view

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| |:| => ||,|| |a:| => |a|,||
13    *
14    * @author FangYidong<fangyidong@yahoo.com.cn>
15    */
 
16    public class ItemList
17    {
18    private String sp = ",";
19   
20    List items = new ArrayList();
21   
 
22  0 toggle public ItemList()
23    {
24    }
25   
 
26  0 toggle public ItemList(String s)
27    {
28  0 this.split(s, sp, items);
29    }
30   
 
31  0 toggle public ItemList(String s, String sp)
32    {
33  0 this.sp = s;
34  0 this.split(s, sp, items);
35    }
36   
 
37  0 toggle public ItemList(String s, String sp, boolean isMultiToken)
38    {
39  0 split(s, sp, items, isMultiToken);
40    }
41   
 
42  0 toggle public List getItems()
43    {
44  0 return this.items;
45    }
46   
 
47  0 toggle public String[] getArray()
48    {
49  0 return (String[]) this.items.toArray();
50    }
51   
 
52  0 toggle public void split(String s, String sp, List append, boolean isMultiToken)
53    {
54  0 if (s == null || sp == null)
55  0 return;
56  0 if (isMultiToken)
57    {
58  0 StringTokenizer tokens = new StringTokenizer(s, sp);
59  0 while (tokens.hasMoreTokens())
60    {
61  0 append.add(tokens.nextToken().trim());
62    }
63    }
64    else
65    {
66  0 this.split(s, sp, append);
67    }
68    }
69   
 
70  0 toggle public void split(String s, String sp, List append)
71    {
72  0 if (s == null || sp == null)
73  0 return;
74  0 int pos = 0;
75  0 int prevPos = 0;
76  0 do
77    {
78  0 prevPos = pos;
79  0 pos = s.indexOf(sp, pos);
80  0 if (pos == -1)
81  0 break;
82  0 append.add(s.substring(prevPos, pos).trim());
83  0 pos += sp.length();
84  0 } while (pos != -1);
85  0 append.add(s.substring(prevPos).trim());
86    }
87   
 
88  0 toggle public void setSP(String sp)
89    {
90  0 this.sp = sp;
91    }
92   
 
93  0 toggle public void add(int i, String item)
94    {
95  0 if (item == null)
96  0 return;
97  0 items.add(i, item.trim());
98    }
99   
 
100  0 toggle public void add(String item)
101    {
102  0 if (item == null)
103  0 return;
104  0 items.add(item.trim());
105    }
106   
 
107  0 toggle public void addAll(ItemList list)
108    {
109  0 items.addAll(list.items);
110    }
111   
 
112  0 toggle public void addAll(String s)
113    {
114  0 this.split(s, sp, items);
115    }
116   
 
117  0 toggle public void addAll(String s, String sp)
118    {
119  0 this.split(s, sp, items);
120    }
121   
 
122  0 toggle public void addAll(String s, String sp, boolean isMultiToken)
123    {
124  0 this.split(s, sp, items, isMultiToken);
125    }
126   
127    /**
128    * @param i
129    * 0-based
130    * @return
131    */
 
132  0 toggle public String get(int i)
133    {
134  0 return (String) items.get(i);
135    }
136   
 
137  0 toggle public int size()
138    {
139  0 return items.size();
140    }
141   
 
142  0 toggle public String toString()
143    {
144  0 return toString(sp);
145    }
146   
 
147  0 toggle public String toString(String sp)
148    {
149  0 StringBuffer sb = new StringBuffer();
150   
151  0 for (int i = 0; i < items.size(); i++)
152    {
153  0 if (i == 0)
154  0 sb.append(items.get(i));
155    else
156    {
157  0 sb.append(sp);
158  0 sb.append(items.get(i));
159    }
160    }
161  0 return sb.toString();
162   
163    }
164   
 
165  0 toggle public void clear()
166    {
167  0 items.clear();
168    }
169   
 
170  0 toggle public void reset()
171    {
172  0 sp = ",";
173  0 items.clear();
174    }
175    }