public final class VariableManager extends Object
这里维护了一个一个HashMap做为变量池,可以通过命令将一个方法的返回值绑定到一个变量名上。
然后这些变量可以用占位符的方式在其他命令行中使用,占位符最终会替换成变量的实际的值。
| 限定符和类型 | 字段和说明 |
|---|---|
static String |
msg |
static String |
placeholder |
| 构造器和说明 |
|---|
VariableManager() |
| 限定符和类型 | 方法和说明 |
|---|---|
static Optional<Object> |
get(ReplacementRecord record,
int tKeyId)
根据id获取历史替换记录
|
static Optional<Object> |
get(String key,
Map<String,Object> variablePool)
根据变量名获取变量获取变量
|
static String |
resolvePlaceholders(String text,
ReplacementRecord replacementRecord,
Map<String,Object> variablePool)
将字符串中的占位符替换成Properties中的value
|
static boolean |
set(String key,
Object value,
Map<String,Object> variablePool)
向变量池中放置键值对,使用方式和HashMap一致
注意: 如果键是小数点 '
|
public static boolean set(String key, Object value, Map<String,Object> variablePool)
注意: 如果键是小数点 '.', 则整个变量池都会被清空。
如果值是小数点 '.', 则这个变量会被从变量池中移除
key - 变量名value - 变量值public static Optional<Object> get(String key, Map<String,Object> variablePool)
key - 变量值public static Optional<Object> get(ReplacementRecord record, int tKeyId)
tKeyId - 这条替换记录的id使用点public static String resolvePlaceholders(String text, ReplacementRecord replacementRecord, Map<String,Object> variablePool)
text - 文本使用点
这里当命令行参数按照空格分段以后,每个部分假如有占位符,都会被替换成变量的“@#@”加上id,同时每次替换都会在 {@link KVPair} 做记录。Copyright © 2021. All rights reserved.