Class ConfigSnapshot

java.lang.Object
io.github.theword.queqiao.core.config.ConfigSnapshot

public final class ConfigSnapshot extends Object
运行时状态的不可变快照

Writer 只处理快照,不直接读取 Config——避免"写盘过程中运行时还在变化" 导致写出混合状态。

快照创建与读取时都会通过 ConfigCodec.copy(Object) 复制可变值, 因此快照与 Runtime、快照调用方彼此隔离。

Since:
0.6.12
  • Method Details

    • valueOf

      public <T> T valueOf(ConfigKey<T> key)
      取值(未加载过该 Key 时返回其默认值)
      Parameters:
      key - 配置项
      Returns:
      值
    • contains

      public boolean contains(ConfigKey<?> key)
      Parameters:
      key - 配置项
      Returns:
      值是否来源于用户配置
    • isDefault

      public boolean isDefault(ConfigKey<?> key)
      Parameters:
      key - 配置项
      Returns:
      值是否来源于默认值
    • keys

      public Set<ConfigKey<?>> keys()
      Returns:
      快照中包含的全部 Key(按写入顺序)