Package org.nutz.lang.util

Examples of org.nutz.lang.util.Context


    }

    private ElFieldMacro() {}

    public void onAfter(Connection conn, ResultSet rs) throws SQLException {
        Context context = entityField.getEntity()
                                     .wrapAsContext(getOperatingObject());
        context.set("field", entityField.getColumnName());
        context.set("view", entityField.getEntity());
        Object value = bin.eval(context);
        entityField.setValue(getOperatingObject(), value);
    }
View Full Code Here


    public void test() throws InstantiationException, IllegalAccessException{
        String[] a = new String[]{"a","b"};
        Map<String, String[]> map = new HashMap<String, String[]>();
        map.put("a", a);
        El exp = new El("util.test(map['a'])");
        Context context = Lang.context();
        context.set("util",StringUtil.class.newInstance());
        context.set("map", map);
        assertEquals("ab", exp.eval(context));
    }
View Full Code Here

        String[] b = new String[]{"1","2"};
        Map<String,Object> map = new HashMap<String,Object>();
        map.put("a", a);
        map.put("b", b);
        El exp = new El("util.test(map['a'][0],map['b'][0])")// 预编译结果为一个 El 对象
        Context context = Lang.context();
        context.set("util",new StringUtil());
        context.set("map", map);
        System.out.println(exp.eval(context));
    }
View Full Code Here

    /**
     * 参数
     */
    @Test
    public void test_simple_condition() {
        Context context = Lang.context();
        context.set("a", 10);
        assertEquals(10, El.eval(context, "a"));
        assertEquals(20, El.eval(context, "a + a"));

        context.set("b", "abc");
        assertEquals(25, El.eval(context, "a + 2 +a+ b.length()"));

        String s = "a>5?'GT 5':'LTE 5'";
        assertEquals("GT 5", El.eval(context, s));
        context.set("a", 5);
        assertEquals("LTE 5", El.eval(context, s));

        assertEquals("jk", El.eval("\"j\"+\"k\""));

    }
View Full Code Here

    }

    @Test
    public void context() {
        Context context = Lang.context();
        List<String> list = new ArrayList<String>();
        list.add("jk");
        context.set("a", list);
        assertEquals("jk", El.eval(context, "a.get((1-1))"));
        assertEquals("jk", El.eval(context, "a.get(1-1)"));
        assertEquals("jk", El.eval(context, "a.get(0)"));

        assertTrue((Boolean) El.eval(Lang.context(), "a==null"));
View Full Code Here

    /**
     * 数组测试
     */
    @Test
    public void array() {
        Context context = Lang.context();
        String[] str = new String[]{"a", "b", "c"};
        String[][] bb = new String[][]{{"a", "b"}, {"c", "d"}};
        context.set("a", str);
        context.set("b", bb);
        assertEquals("b", El.eval(context, "a[1]"));
        assertEquals("b", El.eval(context, "a[1].toString()"));
        assertEquals("b", El.eval(context, "a[2-1]"));
        assertEquals("d", El.eval(context, "b[1][1]"));
    }
View Full Code Here

    public void field() {
        class abc {
            @SuppressWarnings("unused")
            public String name = "jk";
        }
        Context context = Lang.context();
        context.set("a", new abc());
        assertEquals("jk", El.eval(context, "a.name"));
        // 这个功能放弃
        // assertFalse((Boolean)El.eval("java.lang.Boolean.FALSE"));
        // assertFalse((Boolean)El.eval("Boolean.FALSE"));
    }
View Full Code Here

    public void speed() {
        SimpleSpeedTest z = new SimpleSpeedTest();
        int num = 4988;
        String elstr = "num + (i - 1 + 2 - 3 + 4 - 5 + 6 - 7)-z.abc(i)";
        int i = 5000;
        Context con = Lang.context();
        con.set("num", num);
        con.set("i", i);
        con.set("z", z);
        assertEquals(num + (i - 1 + 2 - 3 + 4 - 5 + 6 - 7) - z.abc(i), El.eval(con, elstr));
    }
View Full Code Here

    /**
     * map测试
     */
    @Test
    public void map() {
        Context context = Lang.context();
        context.set("a", Lang.map("{x:10,y:50,txt:'Hello'}"));

        assertEquals(100, El.eval(context, "a.get('x')*10"));
        assertEquals(100, El.eval(context, "a.x*10"));
        assertEquals(100, El.eval(context, "a['x']*10"));
        assertEquals("Hello-40", El.eval(context, "a.get('txt')+(a.get('x')-a.get('y'))"));
View Full Code Here

    /**
     * list测试
     */
    @Test
    public void list() {
        Context context = Lang.context();
        List<String> list = new ArrayList<String>();
        context.set("b", list);
        assertEquals(0, El.eval(context, "b.size()"));
        list.add("");
        assertEquals(1, El.eval(context, "b.size()"));
        El.eval(context, "b.add('Q\nQ')");
        assertEquals(2, El.eval(context, "b.size()"));
View Full Code Here

TOP

Related Classes of org.nutz.lang.util.Context

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.