Java表達式解析引擎 SimpleEL
Simple EL是一個表達式解析引擎。它將表達式解析分成四個部分:預處理、編譯、緩存和執行。這四個步驟任意一部分都可以替換,類似設計模式中的Template Method。
缺省的實現是:將表達式處理成Java Source,調用Tools.jar的Javac API動態編譯,緩存變異后反射得到的實例,使得表達式的解析速度和Java靜態編譯的速度接近。
這是一個性能極致、擴展性良好的表達式解析引擎。
介紹項目的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"));
本文由用戶 fmms 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!