SerializableValue

class SerializableValue<T>(delegate: Value<T>, val serializer: KSerializer<Unit>) : Value<T> , SerializerAwareValue<T>

可被序列化的 Value.

Constructors

Link copied to clipboard
constructor(delegate: Value<T>, serializer: KSerializer<Unit>)

Types

Link copied to clipboard
object Companion

Functions

Link copied to clipboard
fun <T> SerializerAwareValue<T>.deserialize(format: BinaryFormat, bytes: ByteArray)
fun <T> SerializerAwareValue<T>.deserialize(format: StringFormat, string: String)

使用 指定格式格式 反序列化 (更新) 一个 SerializerAwareValue

Link copied to clipboard
open operator override fun equals(other: Any?): Boolean
Link copied to clipboard
open operator override fun getValue(thisRef: Any?, property: KProperty<*>): T
Link copied to clipboard
open override fun hashCode(): Int
Link copied to clipboard
@JvmName(name = "mapKeysImmutable")
fun <OldK, NewK, V> SerializerAwareValue<Map<OldK, V>>.mapKeys(oldToNew: (OldK) -> NewK, newToOld: (NewK) -> OldK): SerializerAwareValue<Map<NewK, V>>

替换 Map 的 key

@JvmName(name = "mapKeys")
fun <OldK, NewK, V> SerializerAwareValue<MutableMap<OldK, V>>.mapKeys(oldToNew: (OldK) -> NewK, newToOld: (NewK) -> OldK): SerializerAwareValue<MutableMap<NewK, V>>

替换 MutableMap 的 key

Link copied to clipboard
@JvmName(name = "create")
fun <T> Value<T>.serializableValueWith(serializer: KSerializer<T>): SerializableValue<T>
Link copied to clipboard
fun <T> SerializerAwareValue<T>.serialize(format: BinaryFormat): ByteArray
fun <T> SerializerAwareValue<T>.serialize(format: StringFormat): String
Link copied to clipboard
open operator override fun setValue(thisRef: Any?, property: KProperty<*>, value: T)
Link copied to clipboard
open override fun toString(): String
Link copied to clipboard
@JvmName(name = "withDefaultMapImmutable")
fun <K, V> SerializerAwareValue<Map<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<Map<K, V>>
@JvmName(name = "withDefaultMapImmutableNotNull")
fun <K, V : Any> SerializerAwareValue<Map<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<PluginDataExtensions.NotNullMap<K, V>>
@JvmName(name = "withDefaultMap")
fun <K, V> SerializerAwareValue<MutableMap<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<MutableMap<K, V>>

创建一个代理对象, 当 Map.get 返回 null 时先调用 defaultValueComputer 并放入 Map, 再返回调用的返回值

@JvmName(name = "withDefaultMapNotNull")
fun <K, V : Any> SerializerAwareValue<MutableMap<K, V>>.withDefault(defaultValueComputer: (K) -> V): SerializerAwareValue<PluginDataExtensions.NotNullMutableMap<K, V>>
Link copied to clipboard

创建一个代理对象, 当 Map.get 返回 null 时先放入一个 ArrayList, 再从 this 中取出链接自动保存的 ArrayList.

创建一个代理对象, 当 Map.get 返回 null 时先放入一个 LinkedHashMap, 再从 this 中取出链接自动保存的 LinkedHashMap. (MutableMap.getOrPut 的替代)

创建一个代理对象, 当 Map.get 返回 null 时先放入一个 LinkedHashSet, 再从 this 中取出链接自动保存的 LinkedHashSet.

Properties

Link copied to clipboard
open override val serializer: KSerializer<Unit>

用于更新和保存 delegate 的序列化器

Link copied to clipboard
@get:JvmName(name = "get")
@set:JvmName(name = "set")
open override var value: T