mirror of
https://github.com/mamoe/mirai.git
synced 2025-02-22 01:30:41 +08:00
Add contains
support
This commit is contained in:
parent
2dfcb2245a
commit
7a6a5896a8
@ -15,7 +15,8 @@ import com.alibaba.fastjson.TypeReference
|
|||||||
import com.alibaba.fastjson.parser.Feature
|
import com.alibaba.fastjson.parser.Feature
|
||||||
import com.moandjiezana.toml.Toml
|
import com.moandjiezana.toml.Toml
|
||||||
import com.moandjiezana.toml.TomlWriter
|
import com.moandjiezana.toml.TomlWriter
|
||||||
import kotlinx.serialization.*
|
import kotlinx.serialization.Serializable
|
||||||
|
import kotlinx.serialization.UnstableDefault
|
||||||
import org.yaml.snakeyaml.Yaml
|
import org.yaml.snakeyaml.Yaml
|
||||||
import java.io.File
|
import java.io.File
|
||||||
import java.util.*
|
import java.util.*
|
||||||
@ -48,6 +49,7 @@ interface Config {
|
|||||||
fun getLongList(key: String): List<Long>
|
fun getLongList(key: String): List<Long>
|
||||||
operator fun set(key: String, value: Any)
|
operator fun set(key: String, value: Any)
|
||||||
operator fun get(key: String): Any?
|
operator fun get(key: String): Any?
|
||||||
|
operator fun contains(key: String): Boolean
|
||||||
fun exist(key: String): Boolean
|
fun exist(key: String): Boolean
|
||||||
fun setIfAbsent(key: String, value: Any)
|
fun setIfAbsent(key: String, value: Any)
|
||||||
fun asMap(): Map<String, Any>
|
fun asMap(): Map<String, Any>
|
||||||
@ -280,6 +282,11 @@ open class ConfigSectionImpl() : ConcurrentHashMap<String, Any>(),
|
|||||||
return super.get(key)
|
return super.get(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Suppress("RedundantOverride")
|
||||||
|
override fun contains(key: String): Boolean {
|
||||||
|
return super.contains(key)
|
||||||
|
}
|
||||||
|
|
||||||
override fun exist(key: String): Boolean {
|
override fun exist(key: String): Boolean {
|
||||||
return containsKey(key)
|
return containsKey(key)
|
||||||
}
|
}
|
||||||
@ -298,14 +305,18 @@ open class ConfigSectionImpl() : ConcurrentHashMap<String, Any>(),
|
|||||||
}
|
}
|
||||||
|
|
||||||
open class ConfigSectionDelegation(
|
open class ConfigSectionDelegation(
|
||||||
private val delegation: MutableMap<String, Any>
|
private val delegate: MutableMap<String, Any>
|
||||||
) : ConfigSection, MutableMap<String, Any> by delegation {
|
) : ConfigSection, MutableMap<String, Any> by delegate {
|
||||||
override fun set(key: String, value: Any) {
|
override fun set(key: String, value: Any) {
|
||||||
delegation.put(key, value)
|
delegate.put(key, value)
|
||||||
|
}
|
||||||
|
|
||||||
|
override fun contains(key: String): Boolean {
|
||||||
|
return delegate.containsKey(key)
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun asMap(): Map<String, Any> {
|
override fun asMap(): Map<String, Any> {
|
||||||
return delegation
|
return delegate
|
||||||
}
|
}
|
||||||
|
|
||||||
override fun save() {
|
override fun save() {
|
||||||
@ -349,6 +360,10 @@ abstract class FileConfigImpl internal constructor(
|
|||||||
file.writeText(serialize(content))
|
file.writeText(serialize(content))
|
||||||
}
|
}
|
||||||
|
|
||||||
|
override fun contains(key: String): Boolean {
|
||||||
|
return content.contains(key)
|
||||||
|
}
|
||||||
|
|
||||||
override fun get(key: String): Any? {
|
override fun get(key: String): Any? {
|
||||||
return content[key]
|
return content[key]
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user