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
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