package org.nutz.http;
import java.util.HashMap;
import java.util.Iterator;
import java.util.Map;
import org.nutz.lang.Strings;
import org.nutz.lang.meta.Pair;
public class Cookie {
protected Map<String, String> map;
public Cookie() {
map = new HashMap<String, String>();
}
public Cookie(String s) {
this();
parse(s);
}
public String get(String name) {
return map.get(name);
}
public Cookie remove(String name) {
map.remove(name);
return this;
}
public Cookie set(String name, String value) {
map.put(name, value);
return this;
}
public void parse(String str) {
String[] ss = Strings.splitIgnoreBlank(str, ";");
for (String s : ss) {
Pair<String> p = Pair.create(Strings.trim(s));
map.put(p.getName(), p.getValueString());
}
}
public String toString() {
StringBuilder sb = new StringBuilder();
for (Iterator<String> it = map.keySet().iterator(); it.hasNext();) {
String key = it.next();
sb.append(key).append('=').append(map.get(key));
if (it.hasNext())
sb.append("; ");
}
return sb.toString();
}
}