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