Comparison with JEXL

JEXL solves some of the same problems that Morph does. Specifically, the Language notion in Morph allows you to receive and set information in arbitrary objects. However, it doesn't allow you to execute arbitrary methods on Java objects, which is something that JEXL does support. An extension to the Language interface that supports this may be provided after Morph 1.0 is released.

JEXL Example

// Create an expression object
String jexlExp = "foo.innerFoo.bar()";
Expression e = ExpressionFactory.createExpression( jexlExp );

// Create a context and add data
JexlContext jc = JexlHelper.createContext();
jc.getVars().put("foo", new Foo() );

// Now evaluate the expression, getting the result
Object o = e.evaluate(jc);
				

Morph Example

// Just do it :)
Object o = Morph.get(new Foo(), "innerFoo.bar()");