Class PlaceholderResolver
java.lang.Object
cloud.opencode.base.yml.placeholder.PlaceholderResolver
Placeholder Resolver - Resolves ${...} placeholders in text
占位符解析器 - 解析文本中的 ${...} 占位符
This class resolves placeholders like ${key} and ${key:default} in strings.
此类解析字符串中的 ${key} 和 ${key:default} 形式的占位符。
Features | 主要功能:
- Resolve ${key} and ${key:default} placeholders - 解析 ${key} 和 ${key:default} 占位符
- Multiple property sources (system, env, custom maps) - 多属性源(系统、环境变量、自定义映射)
- Circular reference detection - 循环引用检测
- Configurable prefix, suffix, and strict mode - 可配置前缀、后缀和严格模式
Usage Examples | 使用示例:
// Create resolver with properties
PlaceholderResolver resolver = PlaceholderResolver.create()
.withSystemProperties()
.withEnvironmentVariables();
// Resolve placeholders
String resolved = resolver.resolve("Server: ${SERVER_HOST:localhost}");
// Resolve in YAML
String yaml = resolver.resolveYaml("""
server:
port: ${SERVER_PORT:8080}
""");
Security | 安全性:
- Thread-safe: Yes (immutable after construction, resolver functions should be thread-safe) - 线程安全: 是(构建后不可变,解析函数应线程安全)
- Null-safe: Yes (null input returns null) - 空值安全: 是(空输入返回 null)
- Since:
- JDK 25, opencode-base-yml V1.0.0
- Author:
- Leon Soo www.LeonSoo.com
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final classPlaceholder Resolver Builder 占位符解析器构建器 -
Method Summary
Modifier and TypeMethodDescriptionstatic PlaceholderResolver.Builderbuilder()Creates a resolver builder.static PlaceholderResolvercreate()Creates a new placeholder resolver.static PlaceholderResolverCreates a resolver with the given properties.Resolves placeholders in text.resolveMap(Map<String, Object> map) Resolves placeholders in Map values.resolveYaml(String yaml) Resolves placeholders in YAML string.
-
Method Details
-
create
Creates a new placeholder resolver. 创建新的占位符解析器。- Returns:
- a new resolver | 新解析器
-
create
Creates a resolver with the given properties. 使用给定属性创建解析器。- Parameters:
properties- the properties | 属性- Returns:
- a new resolver | 新解析器
-
builder
Creates a resolver builder. 创建解析器构建器。- Returns:
- a new builder | 新构建器
-
resolve
-
resolveYaml
-
resolveMap
-