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

public final class ListCodec extends Object implements ConfigCodec<List<String>>
字符串列表编解码器

copy(List) 返回新列表——这是"默认值不在多个 Config 实例之间共享 同一个可变对象"的保证。

null 视为无效配置:非 Optional 配置项不接受 null;需要空列表请显式写 []。

Since:
0.6.12
  • Field Details

    • INSTANCE

      public static final ListCodec INSTANCE
  • Method Details

    • read

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

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

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

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

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

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