/**
*
*/
package org.alldroid.forum.preferences;
import java.util.Map;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
import android.preference.PreferenceManager;
/**
* @author Ryan
*/
public final class Preferences {
public final static String KEY_PREFIX = "org.alldroid.forum.prefs.";
private Context context;
private SharedPreferences preferences;
private Preferences ( Context context ) {
setContext ( context );
preferences = get ( context );
}
public static SharedPreferences get ( Context context ) {
return PreferenceManager.getDefaultSharedPreferences ( context );
}
public static Preferences create ( Context context ) {
Preferences perfs = new Preferences ( context );
return perfs;
}
public boolean containsKey ( String key ) {
return preferences.contains ( key );
}
public boolean commit ( ) {
return edit().commit ( );
}
public Preferences clear ( ) {
edit().clear ( );
return this;
}
public Preferences putBoolean ( int keyResourceId, boolean value ) {
return putBoolean ( this.getStringResource ( keyResourceId ), value );
}
public Preferences putBoolean ( String key, boolean value ) {
edit ( ).putBoolean ( key, value );
return this;
}
public Preferences putInteger ( int keyResourceId, int value ) {
return putInteger ( this.getStringResource ( keyResourceId ), value );
}
public Preferences putInteger ( String key, int value ) {
edit ( ).putInt ( key, value );
return this;
}
public Preferences putLong ( int keyResourceId, long value ) {
return putLong ( this.getStringResource ( keyResourceId ), value );
}
public Preferences putLong ( String key, long value ) {
edit().putLong ( key, value );
return this;
}
public Preferences putFloat ( int keyResourceId, float value ) {
return putFloat ( this.getStringResource ( keyResourceId ), value );
}
public Preferences putFloat ( String key, float value ) {
edit().putFloat ( key, value );
return this;
}
public Preferences putString ( int keyResourceId, String value ) {
return putString ( this.getStringResource ( keyResourceId ), value );
}
public Preferences putString ( String key, String value ) {
edit().putString ( key, value );
return this;
}
public boolean getBoolean ( int keyResourceId, boolean defaultValue ) {
return getBoolean ( getStringResource ( keyResourceId ), defaultValue );
}
public boolean getBoolean ( String key, boolean defaultValue ) {
return this.get ( ).getBoolean ( key, defaultValue );
}
public int getInteger ( int keyResourceId, int defaultValue ) {
return getInteger ( this.getStringResource ( keyResourceId ), defaultValue );
}
public int getInteger ( String key, int defaultValue ) {
return this.get ( ).getInt ( key, defaultValue );
}
public long getLong ( int keyResourceId, long defaultValue ) {
return getLong ( this.getStringResource ( keyResourceId ), defaultValue );
}
public long getLong ( String key, long defaultValue ) {
return this.get ( ).getLong ( key, defaultValue );
}
public float getFloat ( int keyResourceId, float defaultValue ) {
return getFloat ( this.getStringResource ( keyResourceId ), defaultValue );
}
public float getFloat ( String key, float defaultValue ) {
return this.get ( ).getFloat ( key, defaultValue );
}
public String getString ( int keyResourceId, String defaultValue ) {
return getString ( this.getStringResource ( keyResourceId ), defaultValue );
}
public String getString ( String key, String defaultValue ) {
return this.get ( ).getString ( key, defaultValue );
}
public Map<String, ?> getAll ( ) {
return this.get ( ).getAll ( );
}
private String getStringResource ( int resId ) {
return this.context.getString ( resId );
}
protected SharedPreferences get ( ) {
return Preferences.get ( this.context );
}
protected Editor edit ( ) {
return get ( ).edit ( );
}
protected Context getContext ( ) {
return this.context;
}
protected void setContext ( Context context ) {
this.context = context;
}
}
|