X-Git-Url: https://git.gag.com/?a=blobdiff_plain;f=altoslib%2FAltosPreferencesBackend.java;h=0580652e8ab4a4fcc1c4b48d4b4fe61698a85dcc;hb=7175774c4f60ed3efd54417f2035b50ea0108c7b;hp=5337527f09ba1a1a5437f4b129e4a4df49efba1b;hpb=45bcf595d0a6a6001459f7f2055cd15e4839550b;p=fw%2Faltos diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java index 5337527f..0580652e 100644 --- a/altoslib/AltosPreferencesBackend.java +++ b/altoslib/AltosPreferencesBackend.java @@ -15,36 +15,54 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA. */ -package org.altusmetrum.altoslib_9; +package org.altusmetrum.altoslib_11; -import java.io.File; +import java.io.*; +import java.util.*; +import java.text.*; -public interface AltosPreferencesBackend { +public abstract class AltosPreferencesBackend { - public String getString(String key, String def); - public void putString(String key, String value); + public abstract String getString(String key, String def); + public abstract void putString(String key, String value); - public int getInt(String key, int def); - public void putInt(String key, int value); + public abstract int getInt(String key, int def); + public abstract void putInt(String key, int value); - public double getDouble(String key, double def); - public void putDouble(String key, double value); + public abstract double getDouble(String key, double def); + public abstract void putDouble(String key, double value); - public boolean getBoolean(String key, boolean def); - public void putBoolean(String key, boolean value); + public abstract boolean getBoolean(String key, boolean def); + public abstract void putBoolean(String key, boolean value); - public byte[] getBytes(String key, byte[] def); - public void putBytes(String key, byte[] value); + public abstract byte[] getBytes(String key, byte[] def); + public abstract void putBytes(String key, byte[] value); - public boolean nodeExists(String key); - public AltosPreferencesBackend node(String key); + public AltosJson getJson(String key) { + String value = getString(key, null); - public String[] keys(); - public void remove(String key); + if (value == null) + return null; + try { + return AltosJson.fromString(value); + } catch (IllegalArgumentException ie) { + return null; + } + } - public void flush(); + public void putJson(String key, AltosJson j) { + putString(key, j.toString()); + } - public File homeDirectory(); + public abstract boolean nodeExists(String key); + public abstract AltosPreferencesBackend node(String key); - public void debug(String format, Object ... arguments); + 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); }