Class PlaceHoldersResolver


  • public class PlaceHoldersResolver
    extends Object
    Шаблонезатор текста. Заменяет плейсхолдеры в строке
    • Constructor Detail

      • PlaceHoldersResolver

        public PlaceHoldersResolver​(String prefix,
                                    String suffix,
                                    String... excludes)
        Создать замену плейсхолдеров
        Parameters:
        prefix - Начало плейсхолдера
        suffix - Окончание плейсолдера. Если не задано, то до первого не буквенного символа.
        excludes - Строки - исключения
    • 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 - - строка json
        func - Функция замены
        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-валидное значение в строке