Mercurial > hg > orthanc-imagej
view org/json/simple/ItemList.java @ 20:985c7a53185a OrthancImageJ-1.2
set version
author | Sebastien Jodogne <s.jodogne@gmail.com> |
---|---|
date | Wed, 31 Oct 2018 08:14:20 +0100 |
parents | 1092b2dca366 |
children |
line wrap: on
line source
/* * $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<fangyidong@yahoo.com.cn> */ 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(); } 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(); } }