Package cloud.opencode.base.config.placeholder
package cloud.opencode.base.config.placeholder
Placeholder Resolution Package
占位符解析包
This package provides placeholder resolution capabilities for replacing ${key} placeholders in configuration values.
此包提供占位符解析能力,用于替换配置值中的${key}占位符。
Features | 主要功能:
- Basic placeholder: ${key} - 基本占位符
- Default values: ${key:default} - 带默认值的占位符
- Nested placeholders: ${${env}.db.url} - 嵌套占位符
- Recursion depth limit - 递归深度限制
- Circular reference detection - 循环引用检测
Components | 组件:
PlaceholderResolver- Main placeholder resolver - 主占位符解析器ExpressionEvaluator- Expression evaluator - 表达式求值器
Placeholder Syntax | 占位符语法:
${key} - Simple reference - 简单引用
${key:default} - With default value - 带默认值
${key:-default} - With default if empty - 空值时使用默认值
${${env}.url} - Nested reference - 嵌套引用
Usage Examples | 使用示例:
// Configuration file
app.name=MyApp
app.version=1.0.0
app.title=${app.name} v${app.version}
log.level=${LOG_LEVEL:INFO}
database.url=jdbc:mysql://${database.host:localhost}:${database.port:3306}/${database.name}
// Result after resolution
app.title=MyApp v1.0.0
log.level=INFO (or value from LOG_LEVEL env var)
database.url=jdbc:mysql://localhost:3306/mydb
Error Handling | 错误处理:
- Missing key without default →
OpenConfigException - Recursion too deep →
OpenConfigException - Circular reference →
OpenConfigException
- Since:
- JDK 25, opencode-base-config V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
ClassesClassDescriptionExpression Evaluator for Advanced Placeholder Syntax 高级占位符语法的表达式求值器Placeholder Resolver 占位符解析器