Package net.mamoe.mirai.console.data

Types

Link copied to clipboard
abstract class AbstractPluginData : PluginDataImpl, PluginData

PluginData 的默认实现. 支持使用 by value() 等委托方法创建 Value 并跟踪其改动.

Link copied to clipboard
open class AutoSavePluginConfig(saveName: String) : AutoSavePluginData, PluginConfig

链接自动保存的 PluginConfig.

Link copied to clipboard
open class AutoSavePluginData : AbstractPluginData

链接自动保存的 PluginData.

Link copied to clipboard
interface AutoSavePluginDataHolder : PluginDataHolder, CoroutineScope

可以持有相关 AutoSavePluginData 的对象.

Link copied to clipboard
interface BooleanValue : PrimitiveValue<Boolean>

表示一个不可空 Boolean.

Link copied to clipboard
interface ByteValue : PrimitiveValue<Byte>

表示一个不可空 Byte.

Link copied to clipboard
interface CharValue : PrimitiveValue<Char>

表示一个不可空 Char.

Link copied to clipboard
interface CompositeListValue<E> : ListValue<E>

复合数据类型的 List

Link copied to clipboard
interface CompositeMapValue<K, V> : MapValue<K, V>
Link copied to clipboard
interface CompositeSetValue<E> : SetValue<E>

复合数据类型 Set

Link copied to clipboard
interface CompositeValue<T> : Value<T>

复合数据类型实现

Link copied to clipboard
interface DoubleValue : PrimitiveValue<Double>

表示一个不可空 Double.

Link copied to clipboard
interface FloatValue : PrimitiveValue<Float>

表示一个不可空 Float.

Link copied to clipboard
interface IntValue : PrimitiveValue<Int>

表示一个不可空 Int.

Link copied to clipboard
interface ListValue<E> : CompositeValue<List<E>>
Link copied to clipboard
interface LongValue : PrimitiveValue<Long>

表示一个不可空 Long.

Link copied to clipboard
interface MapValue<K, V> : CompositeValue<Map<K, V>>
Link copied to clipboard

在内存存储所有 PluginData 实例的 PluginDataStorage. 在内存数据丢失后相关 PluginData 实例也会丢失.

Link copied to clipboard

用多个文件存储 PluginData 实例的 PluginDataStorage.

Link copied to clipboard
interface PluginConfig : PluginData

一个插件的配置数据, 用于和用户交互.

Link copied to clipboard
interface PluginData

一个插件内部的, 对用户隐藏的数据对象. 可包含对多个 Value 的值变更的跟踪. 典型的实现为 AbstractPluginData.

Link copied to clipboard
object PluginDataExtensions

PluginData 相关一些扩展

Link copied to clipboard
interface PluginDataHolder

可以持有相关 PluginData 实例的对象, 作为 PluginData 实例的拥有者.

Link copied to clipboard
interface PluginDataStorage

数据对象 存储仓库.

Link copied to clipboard
interface PrimitiveIntIntMapValue : PrimitiveMapValue<Int, Int>
Link copied to clipboard
interface PrimitiveIntListValue : PrimitiveListValue<Int>
Link copied to clipboard
Link copied to clipboard
interface PrimitiveIntSetValue : PrimitiveSetValue<Int>
Link copied to clipboard
interface PrimitiveListValue<E> : ListValue<E>

针对基础类型优化的 List

Link copied to clipboard
interface PrimitiveLongListValue : PrimitiveListValue<Long>
Link copied to clipboard
interface PrimitiveLongSetValue : PrimitiveSetValue<Long>
Link copied to clipboard
interface PrimitiveMapValue<K, V> : MapValue<K, V>
Link copied to clipboard
interface PrimitiveSetValue<E> : SetValue<E>

基础数据类型 Set

Link copied to clipboard
interface PrimitiveValue<T> : Value<T>

基础数据类型 Value

Link copied to clipboard
open class ReadOnlyPluginConfig(saveName: String) : ReadOnlyPluginData, PluginConfig

只读的 PluginConfig. 插件只能读取其值, 但值可能在后台被前端 (用户) 修改.

Link copied to clipboard
open class ReadOnlyPluginData : AbstractPluginData

只读的 PluginData. 插件只能读取其值, 但值可能在后台被前端 (用户) 修改.

Link copied to clipboard
interface ReferenceValue<T> : Value<T>
Link copied to clipboard
class SerializableValue<T>(delegate: Value<T>, val serializer: KSerializer<Unit>) : Value<T> , SerializerAwareValue<T>

可被序列化的 Value.

Link copied to clipboard
interface SerializerAwareValue<T> : Value<T>

带有显式 序列化器Value.

Link copied to clipboard
interface SetValue<E> : CompositeValue<Set<E>>
Link copied to clipboard
interface ShortValue : PrimitiveValue<Short>

表示一个不可空 Short.

Link copied to clipboard
interface StringValue : PrimitiveValue<String>

表示一个不可空 String.

Link copied to clipboard
interface Value<T> : ReadWriteProperty<Any?, T>

表示一个值代理.

Link copied to clipboard
annotation class ValueDescription(val value: String)

序列化之后的注释.

Link copied to clipboard
annotation class ValueName(val value: String)

序列化之后的名称.

Functions

Link copied to clipboard
fun <T> AbstractPluginData.findBackingFieldValue(propertyValueName: String): Value<out T>?
fun <T> AbstractPluginData.findBackingFieldValue(property: KProperty<T>): Value<out T>?

获取这个 KProperty 委托的 Value

Link copied to clipboard

获取这个 KProperty 委托的 Value

Link copied to clipboard
fun PluginData.value(default: Boolean): SerializerAwareValue<Boolean>

创建一个 Boolean 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Byte): SerializerAwareValue<Byte>

创建一个 Byte 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Char): SerializerAwareValue<Char>

创建一个 Char 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Double): SerializerAwareValue<Double>

创建一个 Double 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Float): SerializerAwareValue<Float>

创建一个 Float 类型的 Value, 并设置初始值为 default

inline fun <T> PluginData.value(apply: T.() -> Unit = {}): SerializerAwareValue<T>

通过具体化类型创建一个 SerializerAwareValue.

fun PluginData.value(default: Int): SerializerAwareValue<Int>

创建一个 Int 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Long): SerializerAwareValue<Long>

创建一个 Long 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: Short): SerializerAwareValue<Short>

创建一个 Short 类型的 Value, 并设置初始值为 default

fun PluginData.value(default: String): SerializerAwareValue<String>

创建一个 String 类型的 Value, 并设置初始值为 default

inline fun <T> PluginData.value(default: T, crossinline apply: T.() -> Unit = {}): SerializerAwareValue<T>

通过具体化类型创建一个 SerializerAwareValue, 并设置初始值.

Link copied to clipboard
fun <T> PluginData.valueFromKType(type: KType, default: T): SerializerAwareValue<T>

通过一个特定的 KType 创建 Value, 并设置初始值.

Properties

Link copied to clipboard