MutableData.kt

  1. package com.hexagonkt.serialization

  2. import kotlin.collections.Map.Entry

  3. interface MutableData : Map<String, Any?> {
  4.     fun data(): Map<String, *>
  5.     fun with(data: Map<String, *>)

  6.     override val entries: Set<Entry<String, *>>
  7.         get() = data().entries

  8.     override val keys: Set<String>
  9.         get() = data().keys

  10.     override val size: Int
  11.         get() = data().size

  12.     override val values: Collection<*>
  13.         get() = data().values

  14.     override fun isEmpty(): Boolean =
  15.         data().isEmpty()

  16.     override fun get(key: String): Any? =
  17.         data()[key]

  18.     override fun containsValue(value: Any?): Boolean =
  19.         data().containsValue(value)

  20.     override fun containsKey(key: String): Boolean =
  21.         data().containsKey(key)
  22. }