JavaAutoSavePluginConfig
abstract class JavaAutoSavePluginConfig(saveName: String) : JavaAutoSavePluginData, PluginConfig
Content copied to clipboard
一个插件的配置数据, 用于和用户交互.
用户可通过 mirai-console 前端 (如在 Android 中可视化实现) 修改这些配置, 修改会自动写入这个对象中.
提示: 插件内部的数据应用 PluginData 存储, 而不能使用 PluginConfig.
实现
在 JavaAutoSavePluginData 的示例基础上, 修改类定义
// 原
public class AccountPluginData extends JavaAutoSavePluginData {
// 修改为
public class AccountPluginConfig extends JavaAutoSavePluginConfig {
Content copied to clipboard
即可将一个 PluginData 变更为 PluginConfig.
Since
2.11
See also
Constructors
Functions
Link copied to clipboard
open override fun onInit(owner: PluginDataHolder, storage: PluginDataStorage)
Content copied to clipboard
当这个 PluginData 被放入一个 PluginDataStorage 时调用
Link copied to clipboard
当所属于这个 PluginData 的 Value 的 值 被修改时被调用.
Link copied to clipboard
operator fun <T : SerializerAwareValue<*>> T.provideDelegate(thisRef: Any?, property: KProperty<*>): T
Content copied to clipboard
使用 by value()
时自动调用此方法, 添加对 Value 的值修改的跟踪, 并创建 ValueNode 加入 valueNodes
Link copied to clipboard
open fun <T : SerializerAwareValue<*>> track( value: T, valueName: String, annotations: List<Annotation>): T
Content copied to clipboard
供手动实现时值跟踪使用 (如 Java 用户). 一般 Kotlin 用户需使用 provideDelegate
Link copied to clipboard
fun <T : Any> typedValue( name: String, type: KType, default: T? = null): SerializerAwareValue<T>
Content copied to clipboard
创建一个支持泛型的 Value.
Link copied to clipboard
Properties
Link copied to clipboard
Link copied to clipboard
序列化本对象数据时使用的 SerializersModule. 用于支持多态序列化等. 在序列化时会先使用 PluginData.serializersModule, 再对无法找到 serializer 的类型使用 MessageSerializers.serializersModule.
Link copied to clipboard
所有 valueNodes 更新和保存序列化器.
Link copied to clipboard
添加了追踪的 ValueNode 列表, 即通过 by value
初始化的属性列表.