Class ConfigKey<T>
java.lang.Object
io.github.theword.queqiao.core.config.schema.ConfigNode
io.github.theword.queqiao.core.config.schema.ConfigKey<T>
- Type Parameters:
T- 配置值类型
配置项定义——配置系统的最小单元
一个 ConfigKey<T> 自带:path、codec、默认值、validator、注释。
它是配置的唯一来源:类型安全由泛型保证,取值必须写
config.get(ConfigKeys.WebSocket.PORT),而不是字符串查找。
不可变:注册后不得修改任何字段,否则树与运行时容易不一致。
equals/hashCode 使用对象 identity(不重写):不同 Runtime 可以有 path 相同的
两个不同 ConfigKey 对象,不应互相混用。同一 Registry 内的 path 唯一性由
ConfigRegistry 保证。
- Since:
- 0.6.12
-
Nested Class Summary
Nested Classes -
Method Summary
Modifier and TypeMethodDescriptionstatic <T> ConfigKey.Builder<T> builder(String path, ConfigCodec<T> codec) 创建构建器取默认值getCodec()boolean解析原始值并校验void校验一个已解析的值Methods inherited from class io.github.theword.queqiao.core.config.schema.ConfigNode
getCommentLines, getName, getPath, lines, toString
-
Method Details
-
builder
创建构建器- Type Parameters:
T- 值类型- Parameters:
path- 完整点分路径(必须与现有 YAML 路径保持兼容)codec- 编解码器- Returns:
- 构建器
-
defaultValue
取默认值每次调用都返回副本(由 codec 的
copy保证)—— 因此多个Config实例不会共享同一个可变默认对象。- Returns:
- 默认值副本
-
getCodec
-
hasValidator
public boolean hasValidator() -
parse
解析原始值并校验- Parameters:
raw- YAML 原始值- Returns:
- 解析后的值
- Throws:
ConfigValidationException- 类型不符或校验不通过
-
validate
校验一个已解析的值- Parameters:
value- 值- Throws:
ConfigValidationException- 校验不通过
-