SimpleEL表達式解析引擎
Simple EL是一個表達式解析引擎。它將表達式解析分成四個部分:預處理、編譯、緩存和執(zhí)行。這四個步驟任意一部分都可以替換,類似設(shè)計模式中的Template Method。
缺省的實現(xiàn)是:將表達式處理成Java Source,調(diào)用Tools.jar的Javac API動態(tài)編譯,緩存變異后反射得到的實例,使得表達式的解析速度和Java靜態(tài)編譯的速度接近。
這是一個性能極致、擴展性良好的表達式解析引擎。
介紹項目的PPT:http://code.alibabatech.com/svn/SimpleEL/trunk/doc/SimpleEL.pptx
SVN:http://code.alibabatech.com/svn/SimpleEL
JIRA:http://code.alibabatech.com/jira/browse/SIMPLEEL
wiki:http://code.alibabatech.com/wiki/display/SimpleEL/Home
使用范例:
import com.alibaba.simpleEL.eval.DefaultExpressEvalService;
import com.alibaba.simpleEL.preprocess.DefaultVariantResolver.Type;
DefaultExpressEvalService service = new DefaultExpressEvalService();
service.regsiterVariant(Type.Integer, "a", "b"); // 注冊兩個類型為Integer的變量
Map ctx = new HashMap();
ctx.put("a", 3);
ctx.put("b", 4);
Assert.assertEquals(7, service.eval(ctx, "@a + @b"));評論
圖片
表情
