Package net.n2oapp.framework.api
Class StringUtils
- java.lang.Object
-
- net.n2oapp.framework.api.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 booleanhasContext(String text)Проверка, что строка содержит контекст Примеры: hasContext("#{username}"); //true hasContext("ab #{username} cd"); //true hasContext("ab username cd"); //false hasContext("ab {username} cd"); //falsestatic booleanhasLink(String text)Проверка, что строка содержит ссылку.static booleanhasProperty(String text)Проверка, что текст содержит настройки Примеры:hasProperty("${prop}"); //true hasProperty("ab ${prop} cd"); //true hasProperty("abcd"); //false hasProperty("ab {prop} cd"); //falsestatic booleanhasWildcard(String str)Проверка, что текст содержит шаблон поискаstatic booleanisBoolean(String value)Проверка, что текст является значением boolean ("true" или "false")static booleanisContext(String s)Проверка, что строка - это контекст Примеры: isContext("#{username}"); //true isContext("username"); //false isContext("{username}"); //falsestatic booleanisDynamicValue(Object value)Проверка, что значение - динамическое (определяется на клиенте)static booleanisEmpty(Object str)static booleanisEscapedString(String text)Проверка, что строка окаймлена экранированными символами Примеры:isEscapedString("'true'"); //true isEscapedString("'123'"); //true isEscapedString("true"); //falsestatic booleanisFunction(String s)Проверка, что строка - javaScript функция Примеры:isFunction("now()"); //true isFunction("now"); //falsestatic booleanisJs(Object s)Проверка, что строка - javaScript выражение Примеры:isJs("`1 == 1`"); //true isJs("{1 == 1}"); //false isJs("1 == 1"); //falsestatic booleanisJson(Object value)Проверка, что значение - json(то есть обрамлено двойными {{ }} ) Примеры:isJson("{{"a" : "b"}}"); //true isJson("{"a" : "b"}"); //falsestatic booleanisLink(Object value)Проверка, что значение - ссылка.static booleanisProperty(String s)Проверка, что строка - настройка Примеры:isProperty("${prop}"); //true isProperty("prop"); //false isProperty("{prop}"); //falsestatic booleanisSpel(String str)static booleanmaskMatch(String mask, String val)Сравнивает строку на соответствие маскеstatic StringmaskToRegex(String mask)Конвертирует маску в RegExstatic StringprepareSizeAttribute(String value)Преобразование атрибута размера к корректному формату.static StringresolveContext(String text, Context context)Заменить в тексте плейсхолдеры с контекстомstatic StringresolveLinks(String text, Object data)Заменить в тексте плейсхолдеры с ссылкамиstatic StringresolveLinks(String text, Function<String,Object> data)Заменить в тексте плейсхолдеры с ссылкамиstatic StringresolveProperties(String text, Object properties)Заменить в тексте плейсхолдеры с настройкамиstatic StringresolveProperties(String text, Function<String,Object> properties)Заменить в тексте плейсхолдеры с настройкамиstatic StringunwrapEscapedString(String text)Получение текста внутри экранированных символовstatic StringunwrapJs(String text)static StringunwrapLink(String text)Получение текста внутри ссылкиstatic StringunwrapSpel(String str)
-
-
-
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)
-
unwrapLink
public static String unwrapLink(String text)
Получение текста внутри ссылки- Parameters:
text- Ссылка- Returns:
- Текст внутри ссылки или null, если входящий текст не является ссылкой
-
isEscapedString
public static boolean isEscapedString(String text)
Проверка, что строка окаймлена экранированными символами Примеры:isEscapedString("'true'"); //true isEscapedString("'123'"); //true isEscapedString("true"); //false- Parameters:
text- Текст- Returns:
- true - окаймлена, false - не окаймлена
-
unwrapEscapedString
public static String unwrapEscapedString(String text)
Получение текста внутри экранированных символов- Parameters:
text- Текст- Returns:
- Текст без экранированных символов или исходный текст
-
isJson
public static boolean isJson(Object value)
Проверка, что значение - json(то есть обрамлено двойными {{ }} ) Примеры:isJson("{{"a" : "b"}}"); //true isJson("{"a" : "b"}"); //false- Parameters:
value- Значение- Returns:
- Является json (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:
- - регулярное выражение
-
hasWildcard
public static boolean hasWildcard(String str)
Проверка, что текст содержит шаблон поиска- Parameters:
str- Строка- Returns:
- Содержит (true) или нет (false)
-
isEmpty
public static boolean isEmpty(@Nullable Object str)
-
isSpel
public static boolean isSpel(String str)
-
prepareSizeAttribute
public static String prepareSizeAttribute(String value)
Преобразование атрибута размера к корректному формату. Если оно представлено числом, то значение + "px". Иначе строка в исходном виде. Примеры:prepareSizeAttribute("100"); //"100px" prepareSizeAttribute("100.5"); //"100.5px" prepareSizeAttribute("150em"); //"150em" prepareSizeAttribute("200px"); //"200px"- Parameters:
value- Значение- Returns:
- Значение атрибута размера в корректном формате
-
isBoolean
public static boolean isBoolean(String value)
Проверка, что текст является значением boolean ("true" или "false")- Parameters:
value- Текст- Returns:
- true, если является значением boolean, иначе - false
-
-