import lombok.extern.slf4j.Slf4j;
import org.apache.commons.text.StringSubstitutor;
import org.springframework.core.io.Resource;
import java.io.File;
import java.io.IOException;
import java.io.InputStream;
import java.nio.charset.StandardCharsets;
import java.nio.file.Files;
import java.util.Map;
@Slf4j
public class TemplateUtils {
public static String fillTemplate(Map<String, String> valuesMap, Resource template) throws IOException {
return fillTemplate(valuesMap, template.getFile());
}
public static String fillTemplate(Map<String, String> valuesMap, File template) throws IOException {
var byteArray = Files.readAllBytes(template.toPath());
var contentString = new String(byteArray, StandardCharsets.UTF_8);
return fillTemplateString(valuesMap, contentString);
}
public static String fillTemplate(Map<String, String> valuesMap, InputStream template) throws IOException {
var byteArray = template.readAllBytes();
var contentString = new String(byteArray, StandardCharsets.UTF_8);
return fillTemplateString(valuesMap, contentString);
}
public static String fillTemplateString(Map<String, String> valuesMap, String contentString) {
var sub = new StringSubstitutor(valuesMap);
return sub.replace(contentString);
}
}