package im.actor.runtime.clc;
import im.actor.runtime.storage.PreferencesStorage;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import java.util.prefs.Preferences;
/**
* Created by mohammad on 11/18/15.
* Edited by amir on 3/14/16
*/
public class ClcJavaPreferenceStorage implements ClcPreferencesStorage {
private static final Logger logger = LoggerFactory.getLogger(ClcJavaPreferenceStorage.class);
private Preferences pref = Preferences.userNodeForPackage(getClass());
private String context;
public ClcJavaPreferenceStorage() {
if (context == null) {
logger.warn("context is not set");
context = "";
}
}
@Override
public void putLong(String key, long v) {
pref.putLong(context + "_" + key, v);
}
@Override
public long getLong(String key, long def) {
return pref.getLong(context + "_" + key, def);
}
@Override
public void putInt(String key, int v) {
pref.putInt(context + "_" + key, v);
}
@Override
public int getInt(String key, int def) {
return pref.getInt(context + "_" + key, def);
}
@Override
public void putBool(String key, boolean v) {
pref.putBoolean(context + "_" + key, v);
}
@Override
public boolean getBool(String key, boolean def) {
return pref.getBoolean(context + "_" + key, def);
}
@Override
public void putBytes(String key, byte[] v) {
if (v != null) {
pref.putByteArray(context + "_" + key, v);
}
}
@Override
public byte[] getBytes(String key) {
return pref.getByteArray(context + "_" + key, null);
}
@Override
public void putString(String key, String v) {
if (v != null) {
pref.put(context + "_" + key, v);
}
}
@Override
public String getString(String key) {
return pref.get(context + "_" + key, null);
}
public Preferences getPref() {
return this.pref;
}
@Override
public void setContext(String context) {
if (context == null) {
logger.warn("context is not set");
this.context = "";
}else{
this.context = context;
}
}
@Override
public String getContext() {
return context;
}
}