Preferences.java :  » App » alldroid » org » alldroid » forum » preferences » Android Open Source

Android Open Source » App » alldroid 
alldroid » org » alldroid » forum » preferences » Preferences.java
/**
 *
 */
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;
  }
}
java2s.com  | Contact Us | Privacy Policy
Copyright 2009 - 12 Demo Source and Support. All rights reserved.
All other trademarks are property of their respective owners.