Class StringCodec

java.lang.Object
io.github.theword.queqiao.core.config.codec.StringCodec
All Implemented Interfaces:
ConfigCodec<String>

public final class StringCodec extends Object implements ConfigCodec<String>
字符串编解码器

null 视为无效配置:非 Optional 配置项不接受 null。 需要"空字符串"请显式写 key: "",而不是 key:。 这条规则统一由 Loader/Runtime 层保证,codec 不再自行决定 null 的语义。

Since:
0.6.12
  • Field Details

  • Method Details

    • read

      public String read(String path, Object raw)
      Description copied from interface: ConfigCodec
      把 YAML 原始值解析为目标类型
      Specified by:
      read in interface ConfigCodec<String>
      Parameters:
      path - 配置路径(用于报错)
      raw - 原始值,可能为 null(字段存在但值为空)
      Returns:
      解析结果
    • write

      public Object write(String value)
      Description copied from interface: ConfigCodec
      把目标类型转成可写入 YAML 的原始值
      Specified by:
      write in interface ConfigCodec<String>
      Parameters:
      value - 目标值
      Returns:
      YAML 可写出的原始值
    • typeName

      public String typeName()
      Description copied from interface: ConfigCodec
      类型名称,用于报错文案(如 integer)
      Specified by:
      typeName in interface ConfigCodec<String>
      Returns:
      类型名称
    • copy

      public String copy(String value)
      Description copied from interface: ConfigCodec
      复制值

      用于保证"默认值"不会在多个 Config 实例之间共享同一个可变对象。 不可变类型直接返回原值。

      Specified by:
      copy in interface ConfigCodec<String>
      Parameters:
      value - 目标值
      Returns:
      副本