Package com.googlecode.aviator

Examples of com.googlecode.aviator.Expression



    @Test
    public void testOnConstant_Nil() throws Exception {
        this.codeGenerator.onConstant(Variable.NIL);
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertNull(result);
    }
View Full Code Here



    @Test
    public void testOnConstant_Long() throws Exception {
        this.codeGenerator.onConstant(new NumberToken(3L, "3"));
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals(3L, result);
    }
View Full Code Here


    @Test
    public void testOnConstant_Double() throws Exception {
        this.codeGenerator.onConstant(new NumberToken(3.3D, "3.3"));
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals(3.3D, result);
    }
View Full Code Here


    @Test
    public void testOnConstant_Boolean_False() throws Exception {
        this.codeGenerator.onConstant(Variable.FALSE);
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals(Boolean.FALSE, result);
    }
View Full Code Here


    @Test
    public void testOnConstant_Boolean_True() throws Exception {
        this.codeGenerator.onConstant(Variable.TRUE);
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals(Boolean.TRUE, result);
    }
View Full Code Here


    @Test
    public void testOnConstant_String() throws Exception {
        this.codeGenerator.onConstant(new StringToken("hello", 0));
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals("hello", result);
    }
View Full Code Here


    @Test
    public void testOnConstant_Pattern() throws Exception {
        this.codeGenerator.onConstant(new PatternToken("[a-z_A-Z]+", 0));
        Expression exp = this.codeGenerator.getResult();
        Object result = exp.execute();
        assertEquals("/[a-z_A-Z]+/", result);
    }
View Full Code Here


    @Test
    public void testOnConstant_Variable() throws Exception {
        this.codeGenerator.onConstant(new Variable("a", 0));
        Expression exp = this.codeGenerator.getResult();
        HashMap<String, Object> env = new HashMap<String, Object>();
        long now = System.currentTimeMillis();
        env.put("a", now);
        Object result = exp.execute(env);
        assertEquals(now, result);
    }
View Full Code Here

    }


    private Object eval(Map<String, Object> env) throws NoSuchMethodException, IllegalAccessException,
            InvocationTargetException {
        Expression exp = this.codeGenerator.getResult();
        return exp.execute(env);
    }
View Full Code Here

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);
    }
View Full Code Here

TOP

Related Classes of com.googlecode.aviator.Expression

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.