diff options
Diffstat (limited to 'altoslib/AltosPreferencesBackend.java')
| -rw-r--r-- | altoslib/AltosPreferencesBackend.java | 40 | 
1 files changed, 8 insertions, 32 deletions
diff --git a/altoslib/AltosPreferencesBackend.java b/altoslib/AltosPreferencesBackend.java index 1f925914..9131ad39 100644 --- a/altoslib/AltosPreferencesBackend.java +++ b/altoslib/AltosPreferencesBackend.java @@ -38,40 +38,16 @@ public abstract class AltosPreferencesBackend {  	public abstract byte[]  getBytes(String key, byte[] def);  	public abstract void    putBytes(String key, byte[] value); -	public Serializable getSerializable(String key, Serializable def) { -		byte[] bytes = null; - -		bytes = getBytes(key, null); -		if (bytes == null) -			return def; - -		ByteArrayInputStream bais = new ByteArrayInputStream(bytes); - -		try { -			ObjectInputStream ois = new ObjectInputStream(bais); -			Serializable object = (Serializable) ois.readObject(); -			return object; -		} catch (IOException ie) { -			debug("IO exception %s\n", ie.toString()); -		} catch (ClassNotFoundException ce) { -			debug("ClassNotFoundException %s\n", ce.toString()); -		} -		return def; -	} - -	public void putSerializable(String key, Serializable object) { -		ByteArrayOutputStream baos = new ByteArrayOutputStream(); +	public AltosHashSet	getHashSet(String key) { +		String	value = getString(key, null); -		try { -			ObjectOutputStream oos = new ObjectOutputStream(baos); - -			oos.writeObject(object); -			byte[] bytes = baos.toByteArray(); +		if (value == null) +			return null; +		return AltosHashSet.fromString(value); +	} -			putBytes(key, bytes); -		} catch (IOException ie) { -			debug("set_state failed %s\n", ie.toString()); -		} +	public void	       	putHashSet(String key, AltosHashSet h) { +		putString(key, h.toString());  	}  	public abstract boolean nodeExists(String key);  | 
