LTD-ManaagerBot/src/main/kotlin/top/r3944realms/ltdmanager/module/PersistentState.kt

16 lines
424 B
Kotlin

package top.r3944realms.ltdmanager.module
import java.io.File
interface PersistentState<T> {
fun getStateFile(): File
fun getState(): T
fun saveState(state: T)
fun loadState(): T
// 默认实现:统一管理 data 目录下的文件
fun getStateFile(name: String): File {
val dataDir = File("data")
if (!dataDir.exists()) dataDir.mkdirs()
return File(dataDir, name)
}
}