package edu.whs.spin2018.baoapp.model.benutzerinfo;


import android.content.Context;
import android.content.SharedPreferences;

import edu.whs.spin2018.baoapp.model.Benutzer;

/**
 * Klasse um den Zugriff auf die SharedPrefernces zu erleichtern.
 */
public class SharedPrefHelfer implements SharedPrefZugriff {

    /**
     * SharedPreferences, in denen die Benutzerinformationen gespeichert sind
     */
    private SharedPreferences sharedPreferences;

    private static final String SHARED_PREF_KEY_BENUTZERNAME = "benutzername";
    private static final String SHARED_PREF_STANDARDWERT = null;
    private static final String SHARED_PREF_KEY_BENUTZERINFO = "benutzerInfo";
    private static final String SHARED_PREF_KEY_UUID = "UUID";

    public SharedPrefHelfer(Context context) {
        this.sharedPreferences = context
                .getSharedPreferences(SHARED_PREF_KEY_BENUTZERINFO, Context.MODE_PRIVATE);
    }

    @Override
    public String gibBenutzernamen() {
        return sharedPreferences.getString(SHARED_PREF_KEY_BENUTZERNAME, SHARED_PREF_STANDARDWERT);
    }

    @Override
    public String gibUUID() {
        return sharedPreferences.getString(SHARED_PREF_KEY_UUID, SHARED_PREF_STANDARDWERT);
    }

    @Override
    public void setzeBenutzernamen(String name) {
        sharedPreferences.edit().putString(SHARED_PREF_KEY_BENUTZERNAME, name).apply();
    }

    @Override
    public void setzeUUID(String uuid) {
        sharedPreferences.edit().putString(SHARED_PREF_KEY_UUID, uuid).apply();
    }

    @Override
    public Benutzer gibBenutzer() {
        return new Benutzer(gibBenutzernamen(), gibUUID());
    }
}
