UriHelper.java

 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}