1 package com.atlassian.pageobjects.util;
2
3 import java.util.HashMap;
4 import java.util.Map;
5
6 import org.apache.commons.lang.Validate;
7
8
9
10
11
12 public class QueryStringBuilder
13 {
14
15 private final Map<String, String> params = new HashMap<String, String>();
16
17
18 public QueryStringBuilder(String... params)
19 {
20 Validate.isTrue(params.length % 2 == 0, "Must be an even number of parameters");
21
22 for (int i = 0; i < params.length; i += 2)
23 {
24 this.params.put(params[i], params[i + 1]);
25 }
26 }
27
28 public QueryStringBuilder add(String key, String value)
29 {
30 params.put(key, value);
31 return this;
32 }
33
34 public int size()
35 {
36 return params.size();
37 }
38
39 public String toString()
40 {
41 StringBuffer result = new StringBuffer();
42
43 for (String key : params.keySet())
44 {
45 if (result.length() > 0)
46 {
47 result.append("&");
48 }
49
50 result.append(key).append("=").append(params.get(key));
51 }
52
53 return result.toString();
54 }
55
56 }