summaryrefslogtreecommitdiff
path: root/altoslib/AltosPreferencesBackend.java
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2016-06-15 22:40:27 -0700
committerKeith Packard <keithp@keithp.com>2016-06-15 22:40:27 -0700
commit1b5ea911049a8afae6af475a4a2bf62a6e3aa57b (patch)
tree7f896e587da5e7911b7b5a42aade1b7692670200 /altoslib/AltosPreferencesBackend.java
parent1de8b6c340cec0b5a327392686c5a4e00f201e98 (diff)
altoslib: Switch preserved state format to JSON
This is much easier to debug than the icky strings with backslashes everywhere. Signed-off-by: Keith Packard <keithp@keithp.com>
Diffstat (limited to 'altoslib/AltosPreferencesBackend.java')
-rw-r--r--altoslib/AltosPreferencesBackend.java16
1 files changed, 16 insertions, 0 deletions
diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java
index 9131ad39..d4c3d7e5 100644
--- a/altoslib/AltosPreferencesBackend.java
+++ b/altoslib/AltosPreferencesBackend.java
@@ -50,6 +50,22 @@ public abstract class AltosPreferencesBackend {
putString(key, h.toString());
}
+ public AltosJson getJson(String key) {
+ String value = getString(key, null);
+
+ if (value == null)
+ return null;
+ try {
+ return AltosJson.fromString(value);
+ } catch (IllegalArgumentException ie) {
+ return null;
+ }
+ }
+
+ public void putJson(String key, AltosJson j) {
+ putString(key, j.toString());
+ }
+
public abstract boolean nodeExists(String key);
public abstract AltosPreferencesBackend node(String key);