use of com.walmartlabs.concord.runtime.v2.runner.el.resolvers.BeanELResolver in project concord by walmartlabs.
the class LazyExpressionEvaluator method createResolver.
/**
* Based on the original code from {@link StandardELContext#getELResolver()}.
* Creates a {@link ELResolver} instance with "sub-resolvers" in the original order.
*/
private ELResolver createResolver(LazyEvalContext evalContext, ExpressionFactory expressionFactory) {
CompositeELResolver r = new CompositeELResolver();
if (evalContext.scope() != null) {
r.add(new VariableResolver(evalContext.scope()));
}
r.add(new VariableResolver(evalContext.variables()));
if (evalContext.context() != null) {
r.add(new TaskResolver(evalContext.context(), taskProviders));
}
r.add(expressionFactory.getStreamELResolver());
r.add(new StaticFieldELResolver());
r.add(new MapELResolver());
r.add(new MethodAccessorResolver());
r.add(new ResourceBundleELResolver());
r.add(new ListELResolver());
r.add(new ArrayELResolver());
if (evalContext.context() != null) {
r.add(new TaskMethodResolver(evalContext.context()));
}
r.add(new BeanELResolver());
return r;
}
Aggregations