DirtyMap

class DirtyMap<K, V>(delegate: MutableMap<K, V>, callback: (key: K, value: V, map: DirtyMap<K, V>) -> Unit = { _, _, _ -> }) : MutableMap<K, V> (source)

A mutable map that tracks changes.

Constructors

Link copied to clipboard
constructor(delegate: MutableMap<K, V>, callback: (key: K, value: V, map: DirtyMap<K, V>) -> Unit = { _, _, _ -> })

Properties

Link copied to clipboard
Link copied to clipboard
open override val keys: MutableSet<K>
Link copied to clipboard
open override val size: Int
Link copied to clipboard
open override val values: MutableCollection<V>

Functions

Link copied to clipboard
open override fun clear()
Link copied to clipboard

Clear the changes.

Link copied to clipboard
open override fun containsKey(key: K): Boolean
Link copied to clipboard
open override fun containsValue(value: V): Boolean
Link copied to clipboard
open operator override fun get(key: K): V?
Link copied to clipboard
fun getChanges(): Map<K, V>

Get the changes.

Link copied to clipboard
open override fun isEmpty(): Boolean
Link copied to clipboard
open override fun put(key: K, value: V): V?
Link copied to clipboard
open override fun putAll(from: Map<out K, V>)
Link copied to clipboard
open override fun remove(key: K): V?
Link copied to clipboard
fun Map<*, *>.toJsonElement(): JsonElement

Converts Map<*, *> to a JsonElement.

Link copied to clipboard
fun trackChange(key: K, oldValue: V?, newValue: V)
Link copied to clipboard
fun <K, V> MutableMap<K, V>.trackChanges(callback: (key: K, value: V, map: DirtyMap<K, V>) -> Unit = { _, _, _ ->}): DirtyMap<K, V>

Track changes in a mutable map.

Link copied to clipboard
fun trackRemovalChange(key: K, oldValue: V)

Track the removal of a key-value pair.