package droidkit.content;
import android.os.Parcelable;
import android.support.annotation.NonNull;
import java.util.List;
import java.util.Set;
/**
* @author Daniel Serdyukov
*/
interface KeyValueDelegate {
int getInt(@NonNull String key, int defaultValue);
void putInt(@NonNull String key, int value);
boolean getBoolean(@NonNull String key, boolean defaultValue);
void putBoolean(@NonNull String key, boolean value);
long getLong(@NonNull String key, long defaultValue);
void putLong(@NonNull String key, long value);
@NonNull
String getString(@NonNull String key, @NonNull String defaultValue);
void putString(@NonNull String key, @NonNull String value);
double getDouble(@NonNull String key, double defaultValue);
void putDouble(@NonNull String key, double value);
float getFloat(@NonNull String key, float defaultValue);
void putFloat(@NonNull String key, float value);
@NonNull
Set<String> getStringSet(@NonNull String key);
void putStringSet(@NonNull String key, @NonNull Set<String> value);
@NonNull
List<String> getStringList(@NonNull String key);
void putStringList(@NonNull String key, @NonNull List<String> value);
<T extends Parcelable> T getParcelable(@NonNull String key);
<T extends Parcelable> void putParcelable(@NonNull String key, @NonNull T value);
void remove(String key);
void clear();
}