mirror of
https://code.briarproject.org/briar/briar.git
synced 2026-02-21 07:09:56 +01:00
Allow storing int array in settings
This commit is contained in:
@@ -1,8 +1,14 @@
|
|||||||
package org.briarproject.bramble.api;
|
package org.briarproject.bramble.api;
|
||||||
|
|
||||||
|
import org.briarproject.bramble.util.StringUtils;
|
||||||
|
|
||||||
|
import java.util.ArrayList;
|
||||||
import java.util.Hashtable;
|
import java.util.Hashtable;
|
||||||
|
import java.util.List;
|
||||||
import java.util.Map;
|
import java.util.Map;
|
||||||
|
|
||||||
|
import javax.annotation.Nullable;
|
||||||
|
|
||||||
public abstract class StringMap extends Hashtable<String, String> {
|
public abstract class StringMap extends Hashtable<String, String> {
|
||||||
|
|
||||||
protected StringMap(Map<String, String> m) {
|
protected StringMap(Map<String, String> m) {
|
||||||
@@ -52,4 +58,31 @@ public abstract class StringMap extends Hashtable<String, String> {
|
|||||||
public void putLong(String key, long value) {
|
public void putLong(String key, long value) {
|
||||||
put(key, String.valueOf(value));
|
put(key, String.valueOf(value));
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Nullable
|
||||||
|
public int[] getIntArray(String key) {
|
||||||
|
String s = get(key);
|
||||||
|
if (s == null) return null;
|
||||||
|
// Handle empty string because "".split(",") returns {""}
|
||||||
|
if (s.length() == 0) return new int[0];
|
||||||
|
String[] intStrings = s.split(",");
|
||||||
|
int[] ints = new int[intStrings.length];
|
||||||
|
try {
|
||||||
|
for (int i = 0; i < ints.length; i++) {
|
||||||
|
ints[i] = Integer.parseInt(intStrings[i]);
|
||||||
|
}
|
||||||
|
} catch (NumberFormatException e) {
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
return ints;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void putIntArray(String key, int[] value) {
|
||||||
|
List<String> intStrings = new ArrayList<>();
|
||||||
|
for (int integer : value) {
|
||||||
|
intStrings.add(String.valueOf(integer));
|
||||||
|
}
|
||||||
|
// Puts empty string if input array value is empty
|
||||||
|
put(key, StringUtils.join(intStrings, ","));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user