Package net.n2oapp.framework.api.script
Class ScriptProcessor
- java.lang.Object
-
- net.n2oapp.framework.api.script.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.StringaddContextFor(java.lang.String script, java.lang.String context, java.util.Collection<java.lang.String> vars)static java.lang.StringaddContextFor(java.lang.String script, java.lang.String context, java.util.function.Predicate<java.lang.String> predicate)static java.lang.StringaddContextForAll(java.lang.String script, java.lang.String context)static java.lang.Stringand(java.util.List<java.lang.String> operands)static java.lang.StringbuildAddConjunctionCondition(java.lang.String condition, java.lang.String addedCondition)java.lang.StringbuildContainsListExpression(java.lang.String variable, java.util.List<java.lang.Object> values)java.lang.StringbuildEqualExpression(java.lang.String variable, java.lang.Object value)java.lang.StringbuildInIntervalExpression(java.lang.String variable, Interval interval)java.lang.StringbuildInListExpression(java.lang.String variable, java.util.List<java.lang.Object> values)java.lang.StringbuildIsNotNullExpression(java.lang.String variable)java.lang.StringbuildIsNullExpression(java.lang.String variable)java.lang.StringbuildLessExpression(java.lang.String variable, java.lang.Comparable comparable)java.lang.StringbuildLikeExpression(java.lang.String variable, java.lang.String value)java.lang.StringbuildLikeStartExpression(java.lang.String variable, java.lang.String value)java.lang.StringbuildMoreExpression(java.lang.String variable, java.lang.Comparable comparable)java.lang.StringbuildNotEqExpression(java.lang.String variable, java.lang.Object value)java.lang.StringbuildNotInListExpression(java.lang.String variable, java.util.List<java.lang.Object> values)java.lang.StringbuildOverlapListExpression(java.lang.String variable, java.util.List<java.lang.Object> values)static java.lang.StringbuildSwitchExpression(N2oSwitch n2oSwitch)static java.lang.StringcreateFunctionCall(java.lang.String funcName, java.lang.Object... args)static java.lang.StringcreateSelfInvokingFunction(java.lang.String code)static <T> Teval(java.lang.String script, DataSet dataSet)static booleanevalForBoolean(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 ScriptProcessorgetInstance()Deprecated.static javax.script.ScriptEnginegetScriptEngine()static java.lang.StringifNotUndefined(java.lang.String exp, java.lang.String... fields)static java.lang.ObjectinvertExpression(java.lang.String text)Изменить значение JS выраждения на обратноеstatic java.lang.Stringor(java.util.List<java.lang.String> operands)static java.lang.ObjectremoveJsBraces(java.lang.Object expression)static java.lang.ObjectresolveArrayExpression(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.ObjectresolveExpression(java.lang.String text)Преобразование выражений с ссылками в js код.static java.lang.StringresolveFunction(java.lang.String text)Преобразование выражения в самовызывающуюся js функцию.static java.lang.StringresolveLinks(java.lang.String text)static java.lang.StringsimplifyArrayLinks(java.lang.String src)
-
-
-
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()
-
-