com.googlecode.aviator.AviatorEvaluator规则引擎用法

AviatorEvaluator所需的依赖:

<dependency> 
<groupId>com.googlecode.aviator</groupId> 
<artifactId>aviator</artifactId> 
<version>3.3.0</version> 
</dependency>

AviatorEvaluator普通测试的列子:

import java.util.HashMap;
import java.util.Map;
import com.googlecode.aviator.AviatorEvaluator;

public class AviatorTest {
    public static void main(String[] args) {
        // exec执行方式,无需传递Map格式
        String age = "18";
        System.out.println(AviatorEvaluator.execute("'His age is '+ age +'!'", age));

        // execute执行方式,需传递Map格式
        Map map = new HashMap();
        map.put("age", "18");
        System.out.println(AviatorEvaluator.execute("'His age is '+ age +'!'", map));
    }
}

AviatorEvaluator编译测试例子:

import java.util.HashMap;
import java.util.Map;

import com.googlecode.aviator.AviatorEvaluator;
import com.googlecode.aviator.Expression;

public class CompileExample {
    public static void main(String[] args) {
        String expression = "a-(b-c)>100";
        // 编译表达式
        Expression compiledExp = AviatorEvaluator.compile(expression);

        Map<String, Object> env = new HashMap<String, Object>();
        env.put("a", 100.3);
        env.put("b", 45);
        env.put("c", -199.100);

        // 执行表达式
        Boolean result = (Boolean) compiledExp.execute(env);
        System.out.println(result);
    }
}
正在加载评论...