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