Class ScriptProcessor


  • public class ScriptProcessor
    extends Object
    Утилитный класс для генерации js скриптов
    • Constructor Detail

      • ScriptProcessor

        public ScriptProcessor()
    • Method Detail

      • resolveLinks

        public static String resolveLinks​(String text)
      • resolveFunction

        public static String resolveFunction​(String text)
        Преобразование выражения в самовызывающуюся js функцию. Примеры. "if (gender.id = 1) return 'М'; else return 'Ж';" -> "(function(){if (gender.id = 1) return 'М'; else return 'Ж';})()" "gender.id == 1" -> "(function(){return gender.id == 1;})()" "function(){if (gender.id = 1) return 'М'; else return 'Ж';}" -> "(function(){if (gender.id = 1) return 'М'; else return 'Ж';})()" "(function(){ return '123'; })()" -> "(function(){ return '123'; })()"
        Parameters:
        text - выражение сождержащее ссылки
        Returns:
        js функция
      • resolveExpression

        public static Object resolveExpression​(String text)
        Преобразование выражений с ссылками в js код. Примеры. {id} -> `id` (String), "1" -> 1 (Integer) "true" -> true (Boolean), "1,2" -> 1,2 (String) "test" -> test (String), "`1+1`" -> `1+1` (String) "Test{id}" -> `'Test'+id` (String) #{test} -> #{test} (String), ${test} -> ${test} (String) {test*.id} -> `.map(fuct...)`
        Parameters:
        text - выражение сождержащее ссылки
        Returns:
        js код
      • invertExpression

        public static Object invertExpression​(String text)
        Изменить значение JS выраждения на обратное
        Parameters:
        text - JS выражение или текст
        Returns:
        Обратное JS выражение или объект
      • resolveArrayExpression

        public static Object resolveArrayExpression​(String... values)
        Преобразование списка expression в js код Примеры "1" -> [1] (List), ("1", "2") -> [1,2] (List) ("Test1", "Test2") -> ["Test1","Test2"] (List) ("true", "false") -> [true,false] (List) ("{id}") -> `[id]` (String), ("{id1}", "{id2}") -> `[id1,id2]` (String) ("Test{id1}", "Test{id2}") -> `['Test'+id1,'Test'+id2]` (String)
        Parameters:
        values - значения, записанное в xml как список value
        Returns:
        js код
      • removeJsBraces

        public static Object removeJsBraces​(Object expression)
      • createFunctionCall

        public static String createFunctionCall​(String funcName,
                                                Object... args)
      • createSelfInvokingFunction

        public static String createSelfInvokingFunction​(String code)
      • buildSwitchExpression

        public static String buildSwitchExpression​(N2oSwitch n2oSwitch)
      • buildIsNullExpression

        public String buildIsNullExpression​(String variable)
      • buildIsNotNullExpression

        public String buildIsNotNullExpression​(String variable)
      • buildEqualExpression

        public String buildEqualExpression​(String variable,
                                           Object value)
      • buildLikeExpression

        public String buildLikeExpression​(String variable,
                                          String value)
      • buildLikeStartExpression

        public String buildLikeStartExpression​(String variable,
                                               String value)
      • buildOverlapListExpression

        public String buildOverlapListExpression​(String variable,
                                                 List<Object> values)
      • buildContainsListExpression

        public String buildContainsListExpression​(String variable,
                                                  List<Object> values)
      • buildNotInListExpression

        public String buildNotInListExpression​(String variable,
                                               List<Object> values)
      • buildNotEqExpression

        public String buildNotEqExpression​(String variable,
                                           Object value)
      • buildInIntervalExpression

        public String buildInIntervalExpression​(String variable,
                                                Interval interval)
      • buildAddConjunctionCondition

        public static String buildAddConjunctionCondition​(String condition,
                                                          String addedCondition)
      • addContextForAll

        public static String addContextForAll​(String script,
                                              String context)
      • simplifyArrayLinks

        public static String simplifyArrayLinks​(String src)
      • evalForBoolean

        public static boolean evalForBoolean​(String script,
                                             DataSet dataSet)
      • getScriptEngine

        public static ScriptEngine getScriptEngine()
      • setDateFormat

        public void setDateFormat​(String dateFormat)
      • getDateFormat

        protected String getDateFormat()