private static String replacePlaceholders(String input, Map<String, Object> placeholders) {
StringBuffer output = new StringBuffer();
Pattern pattern = Pattern.compile("\\{(.+?)\\}");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String key = matcher.group(1);
String replacement = placeholders.getOrDefault(key, "").toString();
if (!replacement.equals("")) {
matcher.appendReplacement(output, replacement);
}
}
matcher.appendTail(output);
return output.toString();
}