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.
// 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);