Java Code Examples for org.apache.commons.jexl3.JexlEngine#createExpression()
The following examples show how to use
org.apache.commons.jexl3.JexlEngine#createExpression() .
You can vote up the ones you like or vote down the ones you don't like,
and go to the original project or source file by following the links above each example. You may check out the related API usage on the sidebar.
Example 1
Source File: Jexl3ConfigEnvironmentPreprocessorTest.java From spring-cloud-formula with Apache License 2.0 | 5 votes |
@Test public void testCache() { JexlEngine engine = new JexlBuilder().cache(100).create(); JexlExpression expr = engine.createExpression("a = 3 ? 1 : 3"); JexlExpression expr2 = engine.createExpression("a = 3 ? 1 : 3"); assertSame(expr, expr2); }
Example 2
Source File: GlobalVariableValidationAction.java From android-uiconductor with Apache License 2.0 | 5 votes |
@Override boolean validateRaw(ActionContext actionContext, AndroidDeviceDriver androidDeviceDriver) { // Create or retrieve an engine JexlEngine jexl = new JexlBuilder().create(); // Create an expression JexlExpression e = jexl.createExpression(expression); JexlContext jc = new MapContext(); // To use advanced expression, need a converter to do the trick, the expression will be like // "uicdTypeConverter.toInt($uicd_var1) + uicdTypeConverter.toInt($uicd_var2)"; if (expression.contains(TYPE_CONVERTER_OBJ_KEYWORD)) { jc.set(TYPE_CONVERTER_OBJ_KEYWORD, new UicdTypeConverter()); } // Create a context and add data // jc.set("$uicd_var1", new String("adbcd")); // Set the displayStr so that we can see the result in the test details. displayStr = expandUicdGlobalVariableToJexl(expression, jc, actionContext); // Now evaluate the expression, getting the result boolean ret = false; try { Object o = e.evaluate(jc); ret = Boolean.parseBoolean(o.toString()); } catch (Exception ex) { System.out.println(ex.getMessage()); } displayStr = String.format("%s|validation result:%s", displayStr, ret); return ret; }
Example 3
Source File: ArrayTest.java From commons-jexl with Apache License 2.0 | 5 votes |
/** * An example for array access. */ static void example(Output out) throws Exception { /* * First step is to retrieve an instance of a JexlEngine; * it might be already existing and shared or created anew. */ JexlEngine jexl = new JexlBuilder().create(); /* * Second make a jexlContext and put stuff in it */ JexlContext jc = new MapContext(); List<Object> l = new ArrayList<Object>(); l.add("Hello from location 0"); Integer two = 2; l.add(two); jc.set("array", l); JexlExpression e = jexl.createExpression("array[1]"); Object o = e.evaluate(jc); out.print("Object @ location 1 = ", o, two); e = jexl.createExpression("array[0].length()"); o = e.evaluate(jc); out.print("The length of the string at location 0 is : ", o, 21); }
Example 4
Source File: MethodPropertyTest.java From tools-journey with Apache License 2.0 | 4 votes |
/** * An example for method access. */ public static void example(final Output out) throws Exception { /** * First step is to retrieve an instance of a JexlEngine; * it might be already existing and shared or created anew. */ JexlEngine jexl = new JexlBuilder().create(); /* * Second make a jexlContext and put stuff in it */ JexlContext jc = new MapContext(); /** * The Java equivalents of foo and number for comparison and checking */ Foo foo = new Foo(); Integer number = new Integer(10); jc.set("foo", foo); jc.set("number", number); /* * access a method w/o args */ JexlExpression e = jexl.createExpression("foo.getFoo()"); Object o = e.evaluate(jc); out.print("value returned by the method getFoo() is : ", o, foo.getFoo()); /* * access a method w/ args */ e = jexl.createExpression("foo.convert(1)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1)); e = jexl.createExpression("foo.convert(1+7)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1+7)); e = jexl.createExpression("foo.convert(1+number)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1+number.intValue())); /* * access a property */ e = jexl.createExpression("foo.bar"); o = e.evaluate(jc); out.print("value returned for the property 'bar' is : ", o, foo.get("bar")); }
Example 5
Source File: MethodPropertyTest.java From commons-jexl with Apache License 2.0 | 4 votes |
/** * An example for method access. */ public static void example(final Output out) throws Exception { /* * First step is to retrieve an instance of a JexlEngine; * it might be already existing and shared or created anew. */ JexlEngine jexl = new JexlBuilder().create(); /* * Second make a jexlContext and put stuff in it */ JexlContext jc = new MapContext(); /* * The Java equivalents of foo and number for comparison and checking */ Foo foo = new Foo(); Integer number = 10; jc.set("foo", foo); jc.set("number", number); /* * access a method w/o args */ JexlExpression e = jexl.createExpression("foo.getFoo()"); Object o = e.evaluate(jc); out.print("value returned by the method getFoo() is : ", o, foo.getFoo()); /* * access a method w/ args */ e = jexl.createExpression("foo.convert(1)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1)); e = jexl.createExpression("foo.convert(1+7)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1+7)); e = jexl.createExpression("foo.convert(1+number)"); o = e.evaluate(jc); out.print("value of " + e.getParsedText() + " is : ", o, foo.convert(1+ number)); /* * access a property */ e = jexl.createExpression("foo.bar"); o = e.evaluate(jc); out.print("value returned for the property 'bar' is : ", o, foo.get("bar")); }