All Downloads are FREE. Search and download functionalities are using the official Maven repository.

com.github.czyzby.kiwi.util.gdx.preference.PreferenceWrapper Maven / Gradle / Ivy

There is a newer version: 1.9.1.9.6
Show newest version
package com.github.czyzby.kiwi.util.gdx.preference;

import com.badlogic.gdx.Preferences;

/** "Abstract" implementation for the {@link Preference} interface, although the class itself is not abstract and can be
 * normally used in your code. If you want to extend it though, you should know that all setter and get methods use
 * {@link #getName()} method to put and get preference values from the preferences.
 *
 * Preferences are advised to be kept in an enum (which cannot extend), so this implementation might have to be copied.
 *
 * @author MJ */
public class PreferenceWrapper implements Preference {
    private final String preferenceName;

    public PreferenceWrapper(final String preferenceName) {
        this.preferenceName = preferenceName;
    }

    @Override
    public String getName() {
        return preferenceName;
    }

    @Override
    public void setIn(final Preferences preferences, final String preferenceValue) {
        preferences.putString(getName(), preferenceValue);
    }

    @Override
    public void setIn(final Preferences preferences, final boolean preferenceValue) {
        preferences.putBoolean(getName(), preferenceValue);
    }

    @Override
    public void setIn(final Preferences preferences, final int preferenceValue) {
        preferences.putInteger(getName(), preferenceValue);
    }

    @Override
    public void setIn(final Preferences preferences, final long preferenceValue) {
        preferences.putLong(getName(), preferenceValue);
    }

    @Override
    public void setIn(final Preferences preferences, final float preferenceValue) {
        preferences.putFloat(getName(), preferenceValue);
    }

    @Override
    public String getStringFrom(final Preferences preferences) {
        return preferences.getString(getName());
    }

    @Override
    public String getStringOrElse(final Preferences preferences, final String defaultValue) {
        return preferences.getString(getName(), defaultValue);
    }

    @Override
    public boolean getBooleanFrom(final Preferences preferences) {
        return preferences.getBoolean(getName());
    }

    @Override
    public boolean getBooleanOrElse(final Preferences preferences, final boolean defaultValue) {
        return preferences.getBoolean(getName(), defaultValue);
    }

    @Override
    public int getIntFrom(final Preferences preferences) {
        return preferences.getInteger(getName());
    }

    @Override
    public int getIntOrElse(final Preferences preferences, final int defaultValue) {
        return preferences.getInteger(getName(), defaultValue);
    }

    @Override
    public long getLongFrom(final Preferences preferences) {
        return preferences.getLong(getName());
    }

    @Override
    public long getLongOrElse(final Preferences preferences, final long defaultValue) {
        return preferences.getLong(getName(), defaultValue);
    }

    @Override
    public float getFloatFrom(final Preferences preferences) {
        return preferences.getFloat(getName());
    }

    @Override
    public float getFloatOrElse(final Preferences preferences, final float defaultValue) {
        return preferences.getFloat(getName(), defaultValue);
    }

    @Override
    public boolean isPresentIn(final Preferences preferences) {
        return preferences.contains(getName());
    }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy