PrfEnum<T extends Enum> class
A type-safe wrapper for storing and retrieving enum values in SharedPreferences.
This class automatically handles the conversion between enum values and their integer indices for storage in SharedPreferences.
Use this class for storing enumerated types like application states, user roles, theme modes, or any other enum-based selections.
Example:
enum ThemeMode { light, dark, system }
final themePreference = PrfEnum<ThemeMode>(
'theme_mode',
values: ThemeMode.values,
defaultValue: ThemeMode.system,
);
await themePreference.set(ThemeMode.dark);
final mode = await themePreference.get(); // ThemeMode.dark
- Inheritance
-
- Object
- PrfVariable<
T> - PrfEncoded<
T, int> - PrfEnum
- Implementers
Constructors
-
PrfEnum.new(String key, {required List<
T> values, T? defaultValue}) -
Creates a new enum preference variable with the specified
key
.
Properties
- defaultValue → T?
-
Default value to use when no value is stored yet.
finalinherited
- hashCode → int
-
The hash code for this object.
no setterinherited
- key → String
-
Unique key used to store this variable in SharedPreferences.
finalinherited
- runtimeType → Type
-
A representation of the runtime type of the object.
no setterinherited
Methods
-
getValue(
SharedPreferencesAsync prefs) → Future< T?> -
Retrieves the current value from cache or SharedPreferences.
inherited
-
isValueNull(
SharedPreferencesAsync prefs) → Future< bool> -
Checks if the current value is null.
inherited
-
noSuchMethod(
Invocation invocation) → dynamic -
Invoked when a nonexistent method or property is accessed.
inherited
-
removeValue(
SharedPreferencesAsync prefs) → Future< void> -
Removes the value from both the cache and SharedPreferences.
inherited
-
setValue(
SharedPreferencesAsync prefs, T value) → Future< void> -
Saves a new value to SharedPreferences and updates the cache.
inherited
-
toString(
) → String -
A string representation of this object.
inherited
Operators
-
operator ==(
Object other) → bool -
The equality operator.
inherited