mobile/android/thirdparty/org/json/simple/ItemList.java

Wed, 31 Dec 2014 07:22:50 +0100

author
Michael Schloh von Bennewitz <michael@schloh.com>
date
Wed, 31 Dec 2014 07:22:50 +0100
branch
TOR_BUG_3246
changeset 4
fc2d59ddac77
permissions
-rw-r--r--

Correct previous dual key logic pending first delivery installment.

     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;
     7 import java.util.ArrayList;
     8 import java.util.List;
     9 import java.util.StringTokenizer;
    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();
    22 	public ItemList(){}
    25 	public ItemList(String s){
    26 		this.split(s,sp,items);
    27 	}
    29 	public ItemList(String s,String sp){
    30 		this.sp=s;
    31 		this.split(s,sp,items);
    32 	}
    34 	public ItemList(String s,String sp,boolean isMultiToken){
    35 		split(s,sp,items,isMultiToken);
    36 	}
    38 	public List getItems(){
    39 		return this.items;
    40 	}
    42 	public String[] getArray(){
    43 		return (String[])this.items.toArray();
    44 	}
    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 	}
    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 	}
    76 	public void setSP(String sp){
    77 		this.sp=sp;
    78 	}
    80 	public void add(int i,String item){
    81 		if(item==null)
    82 			return;
    83 		items.add(i,item.trim());
    84 	}
    86 	public void add(String item){
    87 		if(item==null)
    88 			return;
    89 		items.add(item.trim());
    90 	}
    92 	public void addAll(ItemList list){
    93 		items.addAll(list.items);
    94 	}
    96 	public void addAll(String s){
    97 		this.split(s,sp,items);
    98 	}
   100 	public void addAll(String s,String sp){
   101 		this.split(s,sp,items);
   102 	}
   104 	public void addAll(String s,String sp,boolean isMultiToken){
   105 		this.split(s,sp,items,isMultiToken);
   106 	}
   108 	/**
   109 	 * @param i 0-based
   110 	 * @return
   111 	 */
   112 	public String get(int i){
   113 		return (String)items.get(i);
   114 	}
   116 	public int size(){
   117 		return items.size();
   118 	}
   120 	public String toString(){
   121 		return toString(sp);
   122 	}
   124 	public String toString(String sp){
   125 		StringBuffer sb=new StringBuffer();
   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();
   137 	}
   139 	public void clear(){
   140 		items.clear();
   141 	}
   143 	public void reset(){
   144 		sp=",";
   145 		items.clear();
   146 	}
   147 }

mercurial