
com.anji.plus.gaea.push.utils.PushContextConvertUtils Maven / Gradle / Ivy
package com.anji.plus.gaea.push.utils;
import org.springframework.lang.Nullable;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
import java.util.Map;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
/**
* @ClassName PushContextConvertUtils
* @Description: TODO
* @Author dingkaiqiang
* @Date 2021-04-06
* @Version V1.0
**/
public class PushContextConvertUtils {
private static final Pattern NAMES_PATTERN = Pattern.compile("\\{([^/]+?)\\}");
private static final Pattern LIST_PATTERN = Pattern.compile("\\[([^/]+?)\\]");
private static final Pattern MAP_KEY_PATTERN = Pattern.compile("\\: ([^/]+?)\\ :");
public static String convert(String context, Map paramMap){
Matcher matcher = NAMES_PATTERN.matcher(context);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String match = matcher.group(1);
String varName = getVariableName(match);
Object varValue = paramMap.get(varName);
String formatted = getVariableValueAsString(varValue);
formatted = Matcher.quoteReplacement(formatted);
matcher.appendReplacement(sb, formatted);
}
matcher.appendTail(sb);
return sb.toString();
}
public static String convertList(String context, Map paramMap){
Matcher matcher = LIST_PATTERN.matcher(context);
StringBuffer sb = new StringBuffer();
while (matcher.find()) {
String match = matcher.group(1);
String varName = getListVariableName(match);
Object varValue = paramMap.get(varName);
String formatted;
if (varValue instanceof List) {
formatted = getVariableListValueAsString((List
© 2015 - 2025 Weber Informatics LLC | Privacy Policy