package net.londatiga.android.twitter.http; import java.util.TreeMap; import java.util.TreeSet; import java.util.Iterator; import net.londatiga.android.twitter.util.URIUtil; /** * Http parameters. * * @author Lorensius W. L. T <lorenz@londatiga.net> * */ public class HttpParams { private TreeMap<String, HttpValues> mParams; public HttpParams() { mParams = new TreeMap<String, HttpValues>(); } public void put(String key, HttpValues values) { if (!mParams.containsKey(key)) { mParams.put(key, values); } } public HttpValues get(String key) { return (mParams.containsKey(key)) ? mParams.get(key) : null; } public boolean containsKey(String key) { return mParams.containsKey(key); } public String getQueryString() { if (mParams.size() == 0) { return ""; } StringBuffer querySb = new StringBuffer(); int size = mParams.size(); int i = 0; for (String key : mParams.keySet()) { HttpValues values = mParams.get(key); if (values != null) { if (!values.isEmpty()) { TreeSet<String> vals = values.getAll(); Iterator<String> iterator = vals.iterator(); while (iterator.hasNext()) { querySb.append(key + "=" + URIUtil.encode((String) iterator.next())); if (iterator.hasNext()) { querySb.append("&"); } } } else { querySb.append(key + "="); } } else { querySb.append(key + "="); } if (i != size-1) { querySb.append("&"); } i++; } return querySb.toString(); } }