mirai/backend/mirai-console/src/data/PluginConfig.kt
2020-10-30 10:28:18 +08:00

46 lines
1.5 KiB
Kotlin

/*
* Copyright 2019-2020 Mamoe Technologies and contributors.
*
* 此源代码的使用受 GNU AFFERO GENERAL PUBLIC LICENSE version 3 许可证的约束, 可以在以下链接找到该许可证.
* Use of this source code is governed by the GNU AFFERO GENERAL PUBLIC LICENSE version 3 license that can be found through the following link.
*
* https://github.com/mamoe/mirai/blob/master/LICENSE
*/
package net.mamoe.mirai.console.data
import net.mamoe.mirai.console.data.java.JAutoSavePluginConfig
/**
* 一个插件的配置数据, 用于和用户交互.
*
* 用户可通过 mirai-console 前端 (如在 Android 中可视化实现) 修改这些配置, 修改会自动写入这个对象中.
*
* **提示**:
* 插件内部的数据应用 [PluginData] 存储, 而不能使用 [PluginConfig].
*
* ## 实现
* 对使用者来说, [PluginConfig] 与 [PluginData] 实现几乎相同. 目前仅需在 [PluginData] 使用的基础上添加接口实现即可.
*
* ### Kotlin
* 在 [PluginData] 的示例基础上, 修改对象定义
* ```
* // 原
* object MyPluginData : AutoSavePluginData()
* // 修改为
* object MyPluginConfig : AutoSavePluginConfig()
* ```
* 即可将一个 [PluginData] 变更为 [PluginConfig].
*
* ### Java
* 见 [JAutoSavePluginConfig]
*
* @see PluginData
*/
public interface PluginConfig : PluginData {
/**
* 警告: [PluginConfig] 的实现处于实验性阶段.
*
* 自主实现 [PluginConfig] 将得不到兼容性保障. 请仅考虑使用 [AutoSavePluginConfig]
*/
}