/*
* Copyright (c) 2015 Zhang Hai <Dreaming.in.Code.ZH@Gmail.com>
* All Rights Reserved.
*/
package me.zhanghai.android.douya.settings.info;
import android.support.annotation.StringRes;
import me.zhanghai.android.douya.DouyaApplication;
import me.zhanghai.android.douya.util.SharedPrefsUtils;
public abstract class SettingsEntry<T> implements SharedPrefsUtils.Entry<T> {
private int mKeyResId;
private int mDefaultValueResId;
public SettingsEntry(@StringRes int keyResId, int defaultValueResId) {
mKeyResId = keyResId;
mDefaultValueResId = defaultValueResId;
}
@Override
public String getKey() {
return DouyaApplication.getInstance().getString(mKeyResId);
}
protected int getDefaultValueResId() {
return mDefaultValueResId;
}
public abstract T getValue();
public abstract void putValue(T value);
public void remove() {
SharedPrefsUtils.remove(this);
}
}