Class 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)
      Получает набор плейсхолдеров из текста
      boolean hasPlaceHolders​(java.lang.String text)
      Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; hasPlaceHolders("#{text}"); >true hasPlaceHolders("name:#{text}"); >true hasPlaceHolders("name:{text}"); >false
      boolean isPlaceHolder​(java.lang.Object param)
      Примеры: PlaceHoldersResolver hasPlaceHolders = new PlaceHoldersResolver("#{", "}"}; isPlaceHolders("#{text}"); >true isPlaceHolders("name:#{text}"); >false
      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-валидное значение в строке
      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.String resolve​(java.lang.String text, java.lang.Object data)
      Заменить плейсхолдеры в тексте
      java.lang.String resolve​(java.lang.String text, java.util.function.Function<java.lang.String,​java.lang.Object> func)
      Заменить плейсхолдеры в тексте
      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
      java.lang.Object resolveValue​(java.lang.Object placeholder, java.util.function.Function<java.lang.String,​java.lang.Object> func)
      Заменить плейсхолдер на значение
      java.lang.Object resolveValue​(java.lang.Object placeholder, java.util.Map<java.lang.String,​java.lang.Object> data)
      Заменить плейсхолдер на значение
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • 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 - - строка json
        func - Функция замены
        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)