public class FormulaUtil extends Object
构造器和说明 |
---|
FormulaUtil() |
限定符和类型 | 方法和说明 |
---|---|
static void |
compileFormulas()
重新编译函数,根据函数定义生成脚本,编译为Class。
|
static void |
compileFormulas(Collection<Formula> formulas) |
static Object |
eval(String scriptText,
Map context)
计算Groovy表达式。
|
static Map |
getFormulaContext()
返回包含所有变量的基础上下文对象。
|
static FormulaManager |
getFormulaManager() |
static Object |
getVar(String variableName)
获取变量的值。
|
static Formula |
getVarFormulaByName(String variableName) |
static void |
initFunctions(Collection<CtpFunction> functions) |
static boolean |
isConstant(Formula formula)
判断指定公式是否为常量。
|
static boolean |
isGroovyFunction(Formula formula)
判断指定公式是否为Groovy函数。
|
static boolean |
isJavaFunction(Formula formula)
判断指定公式是否为Java实现的函数。
|
static boolean |
isValidate(String script)
判断指定脚本是否合法,不允许使用一些影响系统性能和稳定性的脚本。
|
static boolean |
isVaraible(Formula formula)
判断指定公式是否为变量。
|
static Formula |
transform(CtpFunction func)
将CtpFunction对象转换为Formula对象。
|
static void |
updateRealValue(Formula formulaPo)
强制更新一个常量的真实值
|
static boolean |
validate(Formula formula) |
static boolean |
validate(Formula formula,
String expression,
Map context,
boolean isSave)
校验Groovy函数是否合法。
|
public static FormulaManager getFormulaManager()
public static Map getFormulaContext()
public static void compileFormulas()
public static void compileFormulas(Collection<Formula> formulas) throws BusinessException
public static boolean isValidate(String script)
script
- groovy脚本public static Object getVar(String variableName) throws ScriptException, BusinessException
variableName
- 变量名称ScriptException
BusinessException
public static void updateRealValue(Formula formulaPo) throws ScriptException, BusinessException
formulaPo
- ScriptException
BusinessException
public static boolean isGroovyFunction(Formula formula) throws BusinessException
formula
- 公式对象。BusinessException
- 无效公式抛出异常。public static boolean isJavaFunction(Formula formula) throws BusinessException
formula
- 公式对象。BusinessException
- 无效公式抛出异常。public static boolean isVaraible(Formula formula) throws BusinessException
formula
- 公式对象。BusinessException
- 无效公式抛出异常。public static boolean isConstant(Formula formula) throws BusinessException
formula
- 公式对象。BusinessException
- 无效公式抛出异常。public static Formula transform(CtpFunction func)
func
- Function对象。public static void initFunctions(Collection<CtpFunction> functions)
public static boolean validate(Formula formula, String expression, Map context, boolean isSave) throws BusinessException
formula
- Groovy函数类型的Formulaexpression
- 验证表达式。context
- 调用的上下文。BusinessException
- 验证失败抛出异常。public static boolean validate(Formula formula) throws BusinessException
public static Object eval(String scriptText, Map context) throws ScriptException, BusinessException
scriptText
- 表达式,如 "x+y"context
- 计算的上下文,如new HashMap(){{ add("x",1);add("y",2)}}ScriptException
BusinessException
Copyright © 2016–2017. All rights reserved.