package com.rapidftr.utilities;
import java.util.Hashtable;
import java.util.Vector;
import net.rim.device.api.system.PersistentObject;
import net.rim.device.api.system.PersistentStore;
import com.rapidftr.Key;
public class DefaultStore implements Store {
private PersistentObject persistentObject;
public DefaultStore(Key key) {
persistentObject = PersistentStore.getPersistentObject(key.getValue());
}
private void setContents(Hashtable hashtable) {
persistentObject.setContents(hashtable);
}
private Hashtable getContents() {
if (persistentObject.getContents() == null) {
setContents(new Hashtable());
}
return (Hashtable) persistentObject.getContents();
}
public void setString(String key, String value) {
if (value == null) {
value = "";
}
put(key, value);
}
private void put(String key, Object value) {
getContents().put(key, value);
commit();
}
public String getString(String key) {
return "" + get(key, "");
}
public String getString(String key, String defaultValue) {
return "" + get(key, defaultValue);
}
public void clear() {
setContents(new Hashtable());
commit();
}
private void commit() {
persistentObject.commit();
}
public void remove(String key) {
getContents().remove(key);
commit();
}
public Object get(String key, Object defaultValue) {
if (getContents().containsKey(key)) {
return getContents().get(key);
}
return defaultValue;
}
public Vector getVector(String key) {
return (Vector) get(key,new Vector());
}
public void setVector(String key, Vector value) {
put(key,value);
}
}