private void compile() { Class[] staticLib = new Class[1]; Class[] dynamicLib = new Class[1]; context = new Object[1]; Class[] dotLib = {Object.class, String.class, Class.class, java.util.Date.class}; try { staticLib[0] = java.lang.Class.forName("java.lang.Math"); pro = new ValueProvider(); dynamicLib[0] = pro.getClass(); context[0] = pro; res = new Resolver(); } catch (ClassNotFoundException e) { throw new RuntimeException("Can not find class for JEL!", e); } try { lib = new Library(staticLib, dynamicLib, dotLib, res, null); lib.markStateDependent("random", null); } catch (gnu.jel.CompilationException ec1) { throw new RuntimeException("Can not compile JEL Library!", ec1); } try { compExpression = Evaluator.compile(parsedExpression, lib, Boolean.TYPE); } catch (gnu.jel.CompilationException ec2) { throw new RuntimeException("Can not compile JEL Expression: " + expression, ec2); } }