Class StringUtils


  • public abstract class StringUtils
    extends Object
    Утилиты для работы с особыми строками в N2O
    • Constructor Summary

      Constructors 
      Constructor Description
      StringUtils()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static Set<String> collectLinks​(String text)
      Собрать в тексте плейсхолдеры с ссылками
      static boolean hasContext​(String text)
      Проверка, что строка содержит контекст Примеры: hasContext("#{username}"); //true hasContext("ab #{username} cd"); //true hasContext("ab username cd"); //false hasContext("ab {username} cd"); //false
      static boolean hasLink​(String text)
      Проверка, что строка содержит ссылку.
      static boolean hasProperty​(String text)
      Проверка, что текст содержит настройки Примеры: hasProperty("${prop}"); //true hasProperty("ab ${prop} cd"); //true hasProperty("abcd"); //false hasProperty("ab {prop} cd"); //false
      static boolean isContext​(String s)
      Проверка, что строка - это контекст Примеры: isContext("#{username}"); //true isContext("username"); //false isContext("{username}"); //false
      static boolean isDynamicValue​(Object value)
      Проверка, что значение - динамическое (определяется на клиенте)
      static boolean isFunction​(String s)
      Проверка, что строка - javaScript функция Примеры: isFunction("now()"); //true isFunction("now"); //false
      static boolean isJs​(Object s)
      Проверка, что строка - javaScript выражение Примеры: isJs("`1 == 1`"); //true isJs("{1 == 1}"); //false isJs("1 == 1"); //false
      static boolean isLink​(Object value)
      Проверка, что значение - ссылка.
      static boolean isProperty​(String s)
      Проверка, что строка - настройка Примеры: isProperty("${prop}"); //true isProperty("prop"); //false isProperty("{prop}"); //false
      static boolean maskMatch​(String mask, String val)
      Сравнивает строку на соответствие маске
      static String maskToRegex​(String mask)
      Конвертирует маску в RegEx
      static String resolveContext​(String text, Context context)
      Заменить в тексте плейсхолдеры с контекстом
      static String resolveLinks​(String text, Object data)
      Заменить в тексте плейсхолдеры с ссылками
      static String resolveLinks​(String text, Function<String,​Object> data)
      Заменить в тексте плейсхолдеры с ссылками
      static String resolveProperties​(String text, Object properties)
      Заменить в тексте плейсхолдеры с настройками
      static String resolveProperties​(String text, Function<String,​Object> properties)
      Заменить в тексте плейсхолдеры с настройками
    • Constructor Detail

      • StringUtils

        public StringUtils()
    • Method Detail

      • isProperty

        public static boolean isProperty​(String s)
        Проверка, что строка - настройка Примеры: isProperty("${prop}"); //true isProperty("prop"); //false isProperty("{prop}"); //false
        Parameters:
        s - - строка
        Returns:
        Да (true), нет (false)
      • hasProperty

        public static boolean hasProperty​(String text)
        Проверка, что текст содержит настройки Примеры: hasProperty("${prop}"); //true hasProperty("ab ${prop} cd"); //true hasProperty("abcd"); //false hasProperty("ab {prop} cd"); //false
        Parameters:
        text - Текст
        Returns:
        Содержит (true) или нет (false)
      • isContext

        public static boolean isContext​(String s)
        Проверка, что строка - это контекст Примеры: isContext("#{username}"); //true isContext("username"); //false isContext("{username}"); //false
        Parameters:
        s - - строка
        Returns:
        true - контекст, false - не контекст
      • hasContext

        public static boolean hasContext​(String text)
        Проверка, что строка содержит контекст Примеры: hasContext("#{username}"); //true hasContext("ab #{username} cd"); //true hasContext("ab username cd"); //false hasContext("ab {username} cd"); //false
        Parameters:
        text - Текст
        Returns:
        Соджержит (true) или нет (false)
      • isLink

        public static boolean isLink​(Object value)
        Проверка, что значение - ссылка. Примеры: isLink("{abc}"); //true isLink("abc"); //false isLink("{"a" : "b"}"); //false
        Parameters:
        value - Значение
        Returns:
        Является ссылкой (true)
      • hasLink

        public static boolean hasLink​(String text)
        Проверка, что строка содержит ссылку. Примеры: hasLink("{username}"); //true hasLink("ab {username} cd"); //true hasLink("ab username cd"); //false hasLink("ab ${username} cd"); //false
        Parameters:
        text - Текст
        Returns:
        Соджержит (true) или нет (false)
      • isJs

        public static boolean isJs​(Object s)
        Проверка, что строка - javaScript выражение Примеры: isJs("`1 == 1`"); //true isJs("{1 == 1}"); //false isJs("1 == 1"); //false
        Parameters:
        s - - строка
        Returns:
        true - javaScript выражение, false - не javaScript выражение
      • isFunction

        public static boolean isFunction​(String s)
        Проверка, что строка - javaScript функция Примеры: isFunction("now()"); //true isFunction("now"); //false
        Parameters:
        s - - строка
        Returns:
        true - javaScript функция, false - не javaScript функция
      • isDynamicValue

        public static boolean isDynamicValue​(Object value)
        Проверка, что значение - динамическое (определяется на клиенте)
        Parameters:
        value - Значение
        Returns:
        true - динамическое, false - не динамическое
      • resolveProperties

        public static String resolveProperties​(String text,
                                               Object properties)
        Заменить в тексте плейсхолдеры с настройками
        Parameters:
        text - Текст с плейсхолдерами ${...}
        properties - Значения свойств
        Returns:
        Текст без плейсхолдеров
      • resolveProperties

        public static String resolveProperties​(String text,
                                               Function<String,​Object> properties)
        Заменить в тексте плейсхолдеры с настройками
        Parameters:
        text - Текст с плейсхолдерами ${...}
        properties - Функция для получения зачений свойств
        Returns:
        Текст без плейсхолдеров
      • resolveContext

        public static String resolveContext​(String text,
                                            Context context)
        Заменить в тексте плейсхолдеры с контекстом
        Parameters:
        text - Текст с плейсхолдерами #{...}
        context - Контекст
        Returns:
        Текст без плейсхолдеров
      • resolveLinks

        public static String resolveLinks​(String text,
                                          Object data)
        Заменить в тексте плейсхолдеры с ссылками
        Parameters:
        text - Текст с плейсхолдерами {...}
        data - Значения ссылок
        Returns:
        Текст без плейсхолдеров
      • resolveLinks

        public static String resolveLinks​(String text,
                                          Function<String,​Object> data)
        Заменить в тексте плейсхолдеры с ссылками
        Parameters:
        text - Текст с плейсхолдерами {...}
        data - Функция для получения значений ссылок
        Returns:
        Текст без плейсхолдеров
      • collectLinks

        public static Set<String> collectLinks​(String text)
        Собрать в тексте плейсхолдеры с ссылками
        Parameters:
        text - Текст с плейсхолдерами {...}
        Returns:
        Список параметров из плейсхолдеров
      • maskMatch

        public static boolean maskMatch​(String mask,
                                        String val)
        Сравнивает строку на соответствие маске
        Parameters:
        mask - - маска (* - любые символы)
        val - - сравниваемое значение
        Returns:
        - результат сравнения
      • maskToRegex

        public static String maskToRegex​(String mask)
        Конвертирует маску в RegEx
        Parameters:
        mask - - маска (* - любые символы)
        Returns:
        - регулярное выражение