Class ScriptProcessor


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

      Constructors 
      Constructor Description
      ScriptProcessor()  
    • Method Summary

      All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods 
      Modifier and Type Method Description
      static java.lang.String addContextFor​(java.lang.String script, java.lang.String context, java.util.Collection<java.lang.String> vars)  
      static java.lang.String addContextFor​(java.lang.String script, java.lang.String context, java.util.function.Predicate<java.lang.String> predicate)  
      static java.lang.String addContextForAll​(java.lang.String script, java.lang.String context)  
      static java.lang.String and​(java.util.List<java.lang.String> operands)  
      static java.lang.String buildAddConjunctionCondition​(java.lang.String condition, java.lang.String addedCondition)  
      java.lang.String buildContainsListExpression​(java.lang.String variable, java.util.List<java.lang.Object> values)  
      java.lang.String buildEqualExpression​(java.lang.String variable, java.lang.Object value)  
      java.lang.String buildInIntervalExpression​(java.lang.String variable, Interval interval)  
      java.lang.String buildInListExpression​(java.lang.String variable, java.util.List<java.lang.Object> values)  
      java.lang.String buildIsNotNullExpression​(java.lang.String variable)  
      java.lang.String buildIsNullExpression​(java.lang.String variable)  
      java.lang.String buildLessExpression​(java.lang.String variable, java.lang.Comparable comparable)  
      java.lang.String buildLikeExpression​(java.lang.String variable, java.lang.String value)  
      java.lang.String buildLikeStartExpression​(java.lang.String variable, java.lang.String value)  
      java.lang.String buildMoreExpression​(java.lang.String variable, java.lang.Comparable comparable)  
      java.lang.String buildNotEqExpression​(java.lang.String variable, java.lang.Object value)  
      java.lang.String buildNotInListExpression​(java.lang.String variable, java.util.List<java.lang.Object> values)  
      java.lang.String buildOverlapListExpression​(java.lang.String variable, java.util.List<java.lang.Object> values)  
      static java.lang.String buildSwitchExpression​(N2oSwitch n2oSwitch)  
      static java.lang.String createFunctionCall​(java.lang.String funcName, java.lang.Object... args)  
      static java.lang.String createSelfInvokingFunction​(java.lang.String code)  
      static <T> T eval​(java.lang.String script, DataSet dataSet)  
      static boolean evalForBoolean​(java.lang.String script, DataSet dataSet)  
      static java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> extractPropertiesOf​(java.lang.String script, java.util.Collection<java.lang.String> vars)  
      static java.util.Set<java.lang.String> extractVars​(java.lang.String script)  
      static ScriptProcessor getInstance()
      Deprecated.
      static javax.script.ScriptEngine getScriptEngine()  
      static java.lang.String ifNotUndefined​(java.lang.String exp, java.lang.String... fields)  
      static java.lang.Object invertExpression​(java.lang.String text)
      Изменить значение JS выраждения на обратное
      static java.lang.String or​(java.util.List<java.lang.String> operands)  
      static java.lang.Object removeJsBraces​(java.lang.Object expression)  
      static java.lang.Object resolveArrayExpression​(java.lang.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)
      static java.lang.Object resolveExpression​(java.lang.String text)
      Преобразование выражений с ссылками в js код.
      static java.lang.String resolveFunction​(java.lang.String text)
      Преобразование выражения в самовызывающуюся js функцию.
      static java.lang.String resolveLinks​(java.lang.String text)  
      static java.lang.String simplifyArrayLinks​(java.lang.String src)  
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Constructor Detail

      • ScriptProcessor

        public ScriptProcessor()
    • Method Detail

      • getInstance

        @Deprecated
        public static ScriptProcessor getInstance()
        Deprecated.
      • resolveLinks

        public static java.lang.String resolveLinks​(java.lang.String text)
      • resolveFunction

        public static java.lang.String resolveFunction​(java.lang.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 java.lang.Object resolveExpression​(java.lang.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 java.lang.Object invertExpression​(java.lang.String text)
        Изменить значение JS выраждения на обратное
        Parameters:
        text - JS выражение или текст
        Returns:
        Обратное JS выражение или объект
      • resolveArrayExpression

        public static java.lang.Object resolveArrayExpression​(java.lang.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 java.lang.Object removeJsBraces​(java.lang.Object expression)
      • createFunctionCall

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

        public static java.lang.String createSelfInvokingFunction​(java.lang.String code)
      • buildSwitchExpression

        public static java.lang.String buildSwitchExpression​(N2oSwitch n2oSwitch)
      • buildIsNullExpression

        public java.lang.String buildIsNullExpression​(java.lang.String variable)
      • buildIsNotNullExpression

        public java.lang.String buildIsNotNullExpression​(java.lang.String variable)
      • buildEqualExpression

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

        public java.lang.String buildLikeExpression​(java.lang.String variable,
                                                    java.lang.String value)
      • buildLikeStartExpression

        public java.lang.String buildLikeStartExpression​(java.lang.String variable,
                                                         java.lang.String value)
      • buildInListExpression

        public java.lang.String buildInListExpression​(java.lang.String variable,
                                                      java.util.List<java.lang.Object> values)
      • buildOverlapListExpression

        public java.lang.String buildOverlapListExpression​(java.lang.String variable,
                                                           java.util.List<java.lang.Object> values)
      • buildContainsListExpression

        public java.lang.String buildContainsListExpression​(java.lang.String variable,
                                                            java.util.List<java.lang.Object> values)
      • buildNotInListExpression

        public java.lang.String buildNotInListExpression​(java.lang.String variable,
                                                         java.util.List<java.lang.Object> values)
      • buildLessExpression

        public java.lang.String buildLessExpression​(java.lang.String variable,
                                                    java.lang.Comparable comparable)
      • buildNotEqExpression

        public java.lang.String buildNotEqExpression​(java.lang.String variable,
                                                     java.lang.Object value)
      • buildMoreExpression

        public java.lang.String buildMoreExpression​(java.lang.String variable,
                                                    java.lang.Comparable comparable)
      • buildInIntervalExpression

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

        public static java.lang.String buildAddConjunctionCondition​(java.lang.String condition,
                                                                    java.lang.String addedCondition)
      • extractVars

        public static java.util.Set<java.lang.String> extractVars​(java.lang.String script)
      • extractPropertiesOf

        public static java.util.Map<java.lang.String,​java.util.Set<java.lang.String>> extractPropertiesOf​(java.lang.String script,
                                                                                                                java.util.Collection<java.lang.String> vars)
      • addContextFor

        public static java.lang.String addContextFor​(java.lang.String script,
                                                     java.lang.String context,
                                                     java.util.function.Predicate<java.lang.String> predicate)
      • addContextFor

        public static java.lang.String addContextFor​(java.lang.String script,
                                                     java.lang.String context,
                                                     java.util.Collection<java.lang.String> vars)
      • addContextForAll

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

        public static java.lang.String simplifyArrayLinks​(java.lang.String src)
      • eval

        public static <T> T eval​(java.lang.String script,
                                 DataSet dataSet)
                          throws javax.script.ScriptException
        Throws:
        javax.script.ScriptException
      • evalForBoolean

        public static boolean evalForBoolean​(java.lang.String script,
                                             DataSet dataSet)
      • ifNotUndefined

        public static java.lang.String ifNotUndefined​(java.lang.String exp,
                                                      java.lang.String... fields)
      • and

        public static java.lang.String and​(java.util.List<java.lang.String> operands)
      • or

        public static java.lang.String or​(java.util.List<java.lang.String> operands)
      • getScriptEngine

        public static javax.script.ScriptEngine getScriptEngine()