add in query_.. parameters to the delete request url so that we come back to the...
[mir.git] / source / mir / util / URLBuilder.java
1 package mir.util;
2
3 import java.util.*;
4
5 public class URLBuilder {
6   private Map keyValues;
7   private String base;
8
9   public URLBuilder(String aBase) {
10     keyValues = new HashMap();
11     base = aBase;
12   }
13
14   public URLBuilder() {
15     this("");
16   }
17
18   public void setValue(String aKey, String aValue) {
19     keyValues.put(aKey, aValue);
20   }
21
22   public void setValue(String aKey, int aValue) {
23     keyValues.put(aKey, Integer.toString(aValue));
24   }
25
26   public void deleteKey(String aKey) {
27     keyValues.remove(aKey);
28   }
29
30   public String getQuery() {
31     StringBuffer query = new StringBuffer();
32     Iterator i;
33
34     i = keyValues.entrySet().iterator();
35
36     while(i.hasNext()) {
37       Map.Entry entry = (Map.Entry) i.next();
38
39       query.append(HTMLRoutines.encodeURL((String) entry.getKey()));
40       query.append("=");
41       query.append(HTMLRoutines.encodeURL((String) entry.getValue()));
42
43       if (i.hasNext())
44         query.append("&");
45     }
46
47     return query.toString();
48   }
49
50   public String getUrl() {
51     return base + "?" + getQuery();
52   }
53 }