Package net.n2oapp.framework.api
Class PlaceHoldersResolver
- java.lang.Object
-
- net.n2oapp.framework.api.PlaceHoldersResolver
-
public class PlaceHoldersResolver extends Object
Шаблонезатор текста. Заменяет плейсхолдеры в строке
-
-
Constructor Summary
Constructors Constructor Description PlaceHoldersResolver(String prefix, String suffix, String... excludes)Создать замену плейсхолдеров
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description Set<String>extractPlaceHolders(String text)Получает набор плейсхолдеров из текстаbooleanhasPlaceHolders(String text)Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; hasPlaceHolders("#{text}"); >true hasPlaceHolders("name:#{text}"); >true hasPlaceHolders("name:{text}"); >falsebooleanisPlaceHolder(Object param)Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; isPlaceHolders("#{text}"); >true isPlaceHolders("name:#{text}"); >falsestatic Function<String,Object>replaceByJson(Function<String,Object> callback, com.fasterxml.jackson.databind.ObjectMapper mapper)Возвращает json-валидное значение в строкеstatic Function<String,Object>replaceNullByEmpty(Object data)static Function<String,Object>replaceNullByEmpty(Function<String,Object> callback)static Function<String,Object>replaceOptional(Object data)static Function<String,Object>replaceOptional(Function<String,Object> data)static Function<String,Object>replaceRequired(Object data)static Function<String,Object>replaceRequired(Function<String,Object> callback)Stringresolve(String text, Object data)Заменить плейсхолдеры в текстеStringresolve(String text, Function<String,Object> func)Заменить плейсхолдеры в текстеStringresolveJson(String json, Function<String,Object> func, com.fasterxml.jackson.databind.ObjectMapper objectMapper)Заменить плейсхолдеры в jsonObjectresolveValue(Object placeholder, Function<String,Object> func)Заменить плейсхолдер на значениеObjectresolveValue(Object placeholder, Map<String,Object> data)Заменить плейсхолдер на значение
-
-
-
Method Detail
-
resolve
public String resolve(String text, Object data)
Заменить плейсхолдеры в тексте- Parameters:
text- Текстdata- Данные для замены- Returns:
- Текст с заменёнными плейсхолдерами, если замена нашлась
-
resolve
public String resolve(String text, Function<String,Object> func)
Заменить плейсхолдеры в тексте- Parameters:
text- Текстfunc- Функция замены- Returns:
- Текст с заменёнными плейсхолдерами, если замена нашлась
-
resolveJson
public String resolveJson(String json, Function<String,Object> func, com.fasterxml.jackson.databind.ObjectMapper objectMapper)
Заменить плейсхолдеры в json- Parameters:
json- - строка jsonfunc- Функция замены- Returns:
- Текст с заменёнными плейсхолдерами, если замена нашлась
-
resolveValue
public Object resolveValue(Object placeholder, Function<String,Object> func)
Заменить плейсхолдер на значение- Parameters:
placeholder- Плейсхолдерfunc- Функция замены- Returns:
- Значение или то, что пришло, если это не плейсхолдер
-
resolveValue
public Object resolveValue(Object placeholder, Map<String,Object> data)
Заменить плейсхолдер на значение- Parameters:
placeholder- Плейсхолдерdata- Карта значений- Returns:
- Значение или то, что пришло, если это не плейсхолдер
-
extractPlaceHolders
public Set<String> extractPlaceHolders(String text)
Получает набор плейсхолдеров из текста- Parameters:
text- текст- Returns:
- плейсхолдеры
-
hasPlaceHolders
public boolean hasPlaceHolders(String text)
Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; hasPlaceHolders("#{text}"); >true hasPlaceHolders("name:#{text}"); >true hasPlaceHolders("name:{text}"); >false- Parameters:
text- текст- Returns:
- true - содержит плейсхолдер, false - не содержит
-
isPlaceHolder
public boolean isPlaceHolder(Object param)
Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; isPlaceHolders("#{text}"); >true isPlaceHolders("name:#{text}"); >false- Parameters:
param- Параметр- Returns:
- true - является плейсхолдером, false - не является плейсхолдером
-
replaceByJson
public static Function<String,Object> replaceByJson(Function<String,Object> callback, com.fasterxml.jackson.databind.ObjectMapper mapper)
Возвращает json-валидное значение в строке
-
replaceNullByEmpty
public static Function<String,Object> replaceNullByEmpty(Function<String,Object> callback)
-
replaceRequired
public static Function<String,Object> replaceRequired(Function<String,Object> callback)
-
replaceOptional
public static Function<String,Object> replaceOptional(Function<String,Object> data)
-
-