org.json.simple.ItemList Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of simplejson-to-easyjson Show documentation
Show all versions of simplejson-to-easyjson Show documentation
Adapter com.googlecode.json-simple:json-simple:jar to easyjson
The newest version!
/*
* $Id: ItemList.java,v 1.1 2006/04/15 14:10:48 platform Exp $
* Created on 2006-3-24
*/
package org.json.simple;
import java.util.ArrayList;
import java.util.List;
import java.util.StringTokenizer;
/**
* |a:b:c| => |a|,|b|,|c|
* |:| => ||,||
* |a:| => |a|,||
*
* @author FangYidong
*/
public class ItemList {
private String sp = ",";
List items = new ArrayList();
public ItemList() {
}
public ItemList(String s) {
this.split(s, sp, items);
}
public ItemList(String s, String sp) {
this.sp = s;
this.split(s, sp, items);
}
public ItemList(String s, String sp, boolean isMultiToken) {
split(s, sp, items, isMultiToken);
}
public List getItems() {
return this.items;
}
public String[] getArray() {
return (String[]) this.items.toArray();
}
public void split(String s, String sp, List append, boolean isMultiToken) {
if (s == null || sp == null) {
return;
}
if (isMultiToken) {
StringTokenizer tokens = new StringTokenizer(s, sp);
while (tokens.hasMoreTokens()) {
append.add(tokens.nextToken().trim());
}
} else {
this.split(s, sp, append);
}
}
public void split(String s, String sp, List append) {
if (s == null || sp == null) {
return;
}
int pos = 0;
int prevPos = 0;
do {
prevPos = pos;
pos = s.indexOf(sp, pos);
if (pos == -1) {
break;
}
append.add(s.substring(prevPos, pos).trim());
pos += sp.length();
} while (pos != -1);
append.add(s.substring(prevPos).trim());
}
public void setSP(String sp) {
this.sp = sp;
}
public void add(int i, String item) {
if (item == null) {
return;
}
items.add(i, item.trim());
}
public void add(String item) {
if (item == null) {
return;
}
items.add(item.trim());
}
public void addAll(ItemList list) {
items.addAll(list.items);
}
public void addAll(String s) {
this.split(s, sp, items);
}
public void addAll(String s, String sp) {
this.split(s, sp, items);
}
public void addAll(String s, String sp, boolean isMultiToken) {
this.split(s, sp, items, isMultiToken);
}
/**
* @param i 0-based
* @return
*/
public String get(int i) {
return (String) items.get(i);
}
public int size() {
return items.size();
}
@Override
public String toString() {
return toString(sp);
}
public String toString(String sp) {
StringBuffer sb = new StringBuffer();
for (int i = 0; i < items.size(); i++) {
if (i == 0) {
sb.append(items.get(i));
} else {
sb.append(sp);
sb.append(items.get(i));
}
}
return sb.toString();
}
public void clear() {
items.clear();
}
public void reset() {
sp = ",";
items.clear();
}
}