1package eu.siacs.conversations.ui.util;
2
3import com.google.common.collect.ImmutableMap;
4
5import java.util.Map;
6
7/**
8 * Helper methods for parsing URI's.
9 */
10public final class UriHelper {
11 /**
12 * Parses a query string into a hashmap.
13 *
14 * @param q The query string to split.
15 * @return A hashmap containing the key-value pairs from the query string.
16 */
17 public static Map<String, String> parseQueryString(final String q) {
18 if (q == null || q.isEmpty()) {
19 return ImmutableMap.of();
20 }
21 final ImmutableMap.Builder<String,String> queryMapBuilder = new ImmutableMap.Builder<>();
22
23 final String[] query = q.split("&");
24 for (final String param : query) {
25 final String[] pair = param.split("=");
26 queryMapBuilder.put(pair[0], pair.length == 2 && !pair[1].isEmpty() ? pair[1] : null);
27 }
28
29 return queryMapBuilder.build();
30 }
31}