PluginDataExtensions

PluginData 相关一些扩展

Types

Link copied to clipboard

Functions

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 = "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.