+ public abstract byte[] getBytes(String key, byte[] def);
+ public abstract void putBytes(String key, byte[] value);
+
+ 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);
+
+ public abstract String[] keys();
+ public abstract void remove(String key);
+
+ public abstract void flush();
+
+ public abstract File homeDirectory();
+
+ public abstract void debug(String format, Object ... arguments);