/** * If the base object is a map, returns the most general type that this resolver accepts for the * property argument. Otherwise, returns null. Assuming the base is a Map, this method will * always return Object.class. This is because Maps accept any object as a key. * * @param context * The context of this evaluation. * @param base * The map to analyze. Only bases of type Map are handled by this resolver. * @return null if base is not a Map; otherwise Object.class. */ @Override public Class<?> getCommonPropertyType(ELContext context, Object base) { return isResolvable(base) ? Object.class : null; }
protected ELResolver createElResolver(VariableContainer variableContainer) { List<ELResolver> elResolvers = new ArrayList<>(); elResolvers.add(createVariableElResolver(variableContainer)); if (beans != null) { elResolvers.add(new ReadOnlyMapELResolver(beans)); } elResolvers.add(new ArrayELResolver()); elResolvers.add(new ListELResolver()); elResolvers.add(new MapELResolver()); elResolvers.add(new JsonNodeELResolver()); ELResolver beanElResolver = createBeanElResolver(); if (beanElResolver != null) { elResolvers.add(beanElResolver); } configureResolvers(elResolvers); CompositeELResolver compositeELResolver = new CompositeELResolver(); for (ELResolver elResolver : elResolvers) { compositeELResolver.add(elResolver); } compositeELResolver.add(new CouldNotResolvePropertyELResolver()); return compositeELResolver; }
@Override protected ELResolver createElResolver(VariableContainer variableContainer) { CompositeELResolver compositeElResolver = new CompositeELResolver(); compositeElResolver.add(new ProcessVariableScopeELResolver(variableContainer)); compositeElResolver.add(new MockElResolver()); compositeElResolver.add(new ArrayELResolver()); compositeElResolver.add(new ListELResolver()); compositeElResolver.add(new MapELResolver()); compositeElResolver.add(new BeanELResolver()); compositeElResolver.add(new CouldNotResolvePropertyELResolver()); return compositeElResolver; }
private ELResolver createElResolver() { CompositeELResolver compositeResolver = new CompositeELResolver(); compositeResolver.add(new ArrayELResolver()); compositeResolver.add(new ListELResolver()); compositeResolver.add(new MapELResolver()); compositeResolver.add(new JsonNodeELResolver()); compositeResolver.add(new ResourceBundleELResolver()); compositeResolver.add(new DynamicBeanPropertyELResolver(ItemInstance.class, "getFieldValue", "setFieldValue")); compositeResolver.add(new BeanELResolver()); return new SimpleResolver(compositeResolver); }
if (isResolvable(base)) { Map<?, ?> map = (Map<?, ?>) base; final Iterator<?> keys = map.keySet().iterator();
private ELResolver createElResolver() { CompositeELResolver compositeResolver = new CompositeELResolver(); compositeResolver.add(new ArrayELResolver()); compositeResolver.add(new ListELResolver()); compositeResolver.add(new MapELResolver()); compositeResolver.add(new JsonNodeELResolver()); compositeResolver.add(new ResourceBundleELResolver()); compositeResolver.add(new DynamicBeanPropertyELResolver(ItemInstance.class, "getFieldValue", "setFieldValue")); compositeResolver.add(new BeanELResolver()); compositeResolver.add(new CouldNotResolvePropertyELResolver()); return new SimpleResolver(compositeResolver); }
if (isResolvable(base)) { result = Object.class; context.setPropertyResolved(true);
@Override protected ELResolver createElResolver(VariableScope variableScope) { CompositeELResolver compositeElResolver = new CompositeELResolver(); compositeElResolver.add(new VariableScopeElResolver(variableScope)); if (beans != null) { // Only expose limited set of beans in expressions compositeElResolver.add(new ReadOnlyMapELResolver(beans)); } else { // Expose full application-context in expressions compositeElResolver.add(new ApplicationContextElResolver(applicationContext)); } compositeElResolver.add(new ArrayELResolver()); compositeElResolver.add(new ListELResolver()); compositeElResolver.add(new MapELResolver()); compositeElResolver.add(new BeanELResolver()); return compositeElResolver; }
throw new NullPointerException("context is null"); if (isResolvable(base)) { context.setPropertyResolved(true);
protected ELResolver createElResolver(VariableScope variableScope) { CompositeELResolver elResolver = new CompositeELResolver(); elResolver.add(new VariableScopeElResolver(variableScope)); if (beans != null) { // ACT-1102: Also expose all beans in configuration when using standalone activiti, not // in spring-context elResolver.add(new ReadOnlyMapELResolver(beans)); } elResolver.add(new ArrayELResolver()); elResolver.add(new ListELResolver()); elResolver.add(new MapELResolver()); elResolver.add(new JsonNodeELResolver()); elResolver.add(new DynamicBeanPropertyELResolver(ItemInstance.class, "getFieldValue", "setFieldValue")); // TODO: needs verification elResolver.add(new BeanELResolver()); return elResolver; }
if (isResolvable(base)) { result = ((Map<?, ?>) base).get(property); context.setPropertyResolved(true);
@Override protected ELResolver createElResolver(VariableContainer variableContainer) { CompositeELResolver compositeElResolver = new CompositeELResolver(); compositeElResolver.add(createVariableElResolver(variableContainer)); if (beans != null) { // Only expose limited set of beans in expressions compositeElResolver.add(new ReadOnlyMapELResolver(beans)); } else { // Expose full application-context in expressions compositeElResolver.add(new ApplicationContextElResolver(applicationContext)); } compositeElResolver.add(new ArrayELResolver()); compositeElResolver.add(new ListELResolver()); compositeElResolver.add(new MapELResolver()); compositeElResolver.add(new JsonNodeELResolver()); compositeElResolver.add(new BeanELResolver()); compositeElResolver.add(new CouldNotResolvePropertyELResolver()); return compositeElResolver; }
throw new NullPointerException("context is null"); if (isResolvable(base)) { if (readOnly) { throw new PropertyNotWritableException("resolver is read-only");
@Override protected ELResolver createElResolver(VariableContainer variableContainer) { CompositeELResolver compositeElResolver = new CompositeELResolver(); compositeElResolver.add(createVariableElResolver(variableContainer)); if (beans != null) { // Only expose limited set of beans in expressions compositeElResolver.add(new ReadOnlyMapELResolver(beans)); } else { // Expose full application-context in expressions compositeElResolver.add(new ApplicationContextElResolver(applicationContext)); } compositeElResolver.add(new ArrayELResolver()); compositeElResolver.add(new ListELResolver()); compositeElResolver.add(new MapELResolver()); compositeElResolver.add(new JsonNodeELResolver()); compositeElResolver.add(new BeanELResolver()); compositeElResolver.add(new CouldNotResolvePropertyELResolver()); return compositeElResolver; }
@Override protected ELResolver createElResolver(VariableContainer variableContainer) { CompositeELResolver compositeElResolver = new CompositeELResolver(); compositeElResolver.add(createVariableElResolver(variableContainer)); if (beans != null) { // Only expose limited set of beans in expressions compositeElResolver.add(new ReadOnlyMapELResolver(beans)); } else { // Expose full application-context in expressions compositeElResolver.add(new ApplicationContextElResolver(applicationContext)); } compositeElResolver.add(new ArrayELResolver()); compositeElResolver.add(new ListELResolver()); compositeElResolver.add(new MapELResolver()); compositeElResolver.add(new JsonNodeELResolver()); compositeElResolver.add(new BeanELResolver()); compositeElResolver.add(new CouldNotResolvePropertyELResolver()); return compositeElResolver; }