Package net.n2oapp.framework.api.script
Class ScriptProcessor
- java.lang.Object
-
- net.n2oapp.framework.api.script.ScriptProcessor
-
public class ScriptProcessor extends 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 StringaddContextFor(String script, String context, Collection<String> vars)static StringaddContextFor(String script, String context, Predicate<String> predicate)static StringaddContextForAll(String script, String context)static Stringand(List<String> operands)static StringbuildAddConjunctionCondition(String condition, String addedCondition)StringbuildContainsListExpression(String variable, List<Object> values)StringbuildEqualExpression(String variable, Object value)StringbuildInIntervalExpression(String variable, Interval interval)StringbuildInListExpression(String variable, List<Object> values)StringbuildIsNotNullExpression(String variable)StringbuildIsNullExpression(String variable)StringbuildLessExpression(String variable, Comparable comparable)StringbuildLikeExpression(String variable, String value)StringbuildLikeStartExpression(String variable, String value)StringbuildMoreExpression(String variable, Comparable comparable)StringbuildNotEqExpression(String variable, Object value)StringbuildNotInListExpression(String variable, List<Object> values)StringbuildOverlapListExpression(String variable, List<Object> values)static StringbuildSwitchExpression(N2oSwitch n2oSwitch)static StringcreateFunctionCall(String funcName, Object... args)static StringcreateSelfInvokingFunction(String code)static <T> Teval(String script, DataSet dataSet)static booleanevalForBoolean(String script, DataSet dataSet)static Map<String,Set<String>>extractPropertiesOf(String script, Collection<String> vars)static Set<String>extractVars(String script)protected StringgetDateFormat()static ScriptProcessorgetInstance()Deprecated.static ScriptEnginegetScriptEngine()static StringifNotUndefined(String exp, String... fields)static ObjectinvertExpression(String text)Изменить значение JS выраждения на обратноеstatic Stringor(List<String> operands)static ObjectremoveJsBraces(Object expression)static ObjectresolveArrayExpression(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 ObjectresolveExpression(String text)Преобразование выражений с ссылками в js код.static StringresolveFunction(String text)Преобразование выражения в самовызывающуюся js функцию.static StringresolveLinks(String text)voidsetDateFormat(String dateFormat)static StringsimplifyArrayLinks(String src)
-
-
-
Method Detail
-
getInstance
@Deprecated public static ScriptProcessor getInstance()
Deprecated.
-
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 код
-
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)
-
buildLessExpression
public String buildLessExpression(String variable, Comparable comparable)
-
buildMoreExpression
public String buildMoreExpression(String variable, Comparable comparable)
-
buildInIntervalExpression
public String buildInIntervalExpression(String variable, Interval interval)
-
buildAddConjunctionCondition
public static String buildAddConjunctionCondition(String condition, String addedCondition)
-
extractPropertiesOf
public static Map<String,Set<String>> extractPropertiesOf(String script, Collection<String> vars)
-
addContextFor
public static String addContextFor(String script, String context, Predicate<String> predicate)
-
addContextFor
public static String addContextFor(String script, String context, Collection<String> vars)
-
eval
public static <T> T eval(String script, DataSet dataSet) throws ScriptException
- Throws:
ScriptException
-
getScriptEngine
public static ScriptEngine getScriptEngine()
-
setDateFormat
public void setDateFormat(String dateFormat)
-
getDateFormat
protected String getDateFormat()
-
-