JsonStoreAccessor

class JsonStoreAccessor<V>(store: JsonStore, serializer: KSerializer<V>, default: () -> V) : Traceable, Loggable(source)

基于 JsonStore 的持久化工具类,处理序列化、反序列化、默认值、懒加载。

Parameters

store

使用方实现 io.github.autotweaker.api.JsonStorable 后将 base 传入即可。

serializer

用于序列化和反序列化 V 的序列化器。

default

提供数据库中无已有数据时的默认值,也就是初始值。

Constructors

Link copied to clipboard
constructor(store: JsonStore, serializer: KSerializer<V>, default: () -> V)

Properties

Link copied to clipboard
val initial: V

初始值,仅在访问时加载一次,请自行在内存中维护当前值。

Link copied to clipboard
val Loggable.log: Logger

获取 Logger,请遵循日志规范,不要污染程序日志。

Link copied to clipboard

获取 AutoTweaker 提供的 TraceRecorder,自身作为 origin

Functions

Link copied to clipboard

打印一条用于临时调试的 error 级别日志,特殊的命名便于通过自动化脚本扫描。

Link copied to clipboard
fun save(value: V)

将数据序列化后存储到硬盘。

Link copied to clipboard
fun Loggable.scope(io: IO? = null): CoroutineScope

快速创建一个协程作用域,并在崩溃时记录日志。