2 Ekim 2019 Çarşamba

StringSubstitutor Sınıfı

Giriş
Şu satırı dahil ederiz.
import org.apache.commons.text.StringSubstitutor;
replace metodu
Tag'ler içindeki değerleri belirtilen map'teki değerler ile değiştirir.

Birinci parametre template, ikinci parametre değerleri üçüncü ve dördünce parametreler tag başlangıç ve bitiş karakterleridir.
Örnek
Şöyle yaparız.
Map<String, String> myMap = new HashMap<>();
myMap.put("text",...);
String template = "${text}";
StringSubstitutor substitutor = new Substitutor(myMap);
String data = substitutor.replace(template);
Örnek
Şöyle yaparız
Map<String, String> parameters = new HashMap<>();
Map<String, String> jsonParameters = new HashMap<>();
parameters.put("entityId", "someid");
parameters.put("name", "someName");
parameters.put("now", ZonedDateTime.now().format(
  DateTimeFormatter.ISO_INSTANT).toString());

jsonParameters.put("info", "{\"name\":\"John\",\"age\":30,\"car\":null}");

String template = "{\"name\":\"{{name}}\",
\"time\":\"{{now}}\",
\"entityId\":\"{{entityId}}\",
\"info\":\"{{info}}\",
\"description\":\"this is a unit test\"}";

String modMessage = StringSubstitutor.replace(template, parameters, "{{", "}}");
Çıktı olarak şunu alırız
{"name":"someName","time":"2019-10-01T10:56:54.991583700Z",
"entityId":"someid","info":"{{info}}", "description":"this is a unit test"}

Hiç yorum yok:

Yorum Gönder