BaseMapField

abstract class BaseMapField<T, K, V>(val name: String, val keyName: String, val meta: SettingMeta?, getter: (T) -> Map<K, V>, setter: (T, Map<K, V>) -> T, serializer: KSerializer<Map<K, V>>, json: Json = SerializedField.DefaultJson) : SettingField<T, Map<K, V>>

Base class for map fields that stores maps as JSON strings.

Inheritors

Constructors

Link copied to clipboard
constructor(name: String, keyName: String, meta: SettingMeta?, getter: (T) -> Map<K, V>, setter: (T, Map<K, V>) -> T, serializer: KSerializer<Map<K, V>>, json: Json = SerializedField.DefaultJson)

Properties

Link copied to clipboard
open override val keyName: String

DataStore key name

Link copied to clipboard
open override val meta: SettingMeta?

UI metadata (null for @Persisted-only fields)

Link copied to clipboard
open override val name: String

Property name in the data class

Functions

Link copied to clipboard
open override fun get(model: T): Map<K, V>

Get value from model

Link copied to clipboard
open override fun read(prefs: Preferences): Map<K, V>?

Read from preferences

Link copied to clipboard
open override fun set(model: T, value: Map<K, V>): T

Set value in model (returns new model)

Link copied to clipboard
open override fun write(prefs: MutablePreferences, value: Map<K, V>)

Write to preferences