package org.sakaiproject.taggable.impl; import java.util.Map; import java.util.Map.Entry; import org.sakaiproject.taggable.api.URLBuilder; public class URLBuilderImpl implements URLBuilder { private String baseURL; private String view; private Map<String, String> params; public URLBuilderImpl() { ; } public URLBuilderImpl(String base, String view, Map<String, String> params) { this.baseURL = base; this.view = view; this.params = params; } /** * {@inheritDoc} */ public String getURL() { StringBuilder url = new StringBuilder(); if (baseURL != null) { url.append(baseURL); if (view != null) { url.append(view); } //Start with "?" then switch to "&" for everything afterwards String sep = "?"; for (Entry<String, String> param : params.entrySet()) { url.append(sep + param.getKey() + "=" + param.getValue()); sep = "&"; } } return url.toString(); } /** * {@inheritDoc} */ public void setBaseURL(String base) { this.baseURL = base; } /** * {@inheritDoc} */ public void setView(String view) { this.view = view; } /** * {@inheritDoc} */ public void setParams(Map<String, String> params) { this.params = params; } }