package com.softwaremill.common.util; import com.google.common.collect.Maps; import org.apache.http.NameValuePair; import org.apache.http.message.BasicNameValuePair; import java.util.Map; public class NameValuePairBuilder { public static final String NOT_UNIQUE_KEY_ERROR = "Map already contains key with name "; private Map<String, String> nameValueMap = Maps.newHashMap(); public NameValuePairBuilder addPair(String name, String value) { if(nameValueMap.containsKey(name)) { throw new RuntimeException(NOT_UNIQUE_KEY_ERROR + name); } nameValueMap.put(name, value); return this; } public NameValuePair[] build() { NameValuePair[] array = new NameValuePair[nameValueMap.keySet().size()]; int index = 0; for (String name : nameValueMap.keySet()) { String value = nameValueMap.get(name); array[index++]= new BasicNameValuePair(name, value); } return array; } }