if (isResolvable(base)) { toIndex((List<?>) base, property); result = Object.class; context.setPropertyResolved(true);
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; }
/** * If the base object is a list, returns the most general type that this resolver accepts for * the property argument. Otherwise, returns null. Assuming the base is a List, this method will * always return Integer.class. This is because Lists accept integers as their index. * * @param context * The context of this evaluation. * @param base * The list to analyze. Only bases of type List are handled by this resolver. * @return null if base is not a List; otherwise Integer.class. */ @Override public Class<?> getCommonPropertyType(ELContext context, Object base) { return isResolvable(base) ? Integer.class : null; }
@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); }
throw new NullPointerException("context is null"); if (isResolvable(base)) { toIndex((List<?>) base, property); context.setPropertyResolved(true);
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)) { int index = toIndex(null, property); List<?> list = (List<?>) base; result = index < 0 || index >= list.size() ? null : list.get(index);
@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)) { if (readOnly) { throw new PropertyNotWritableException("resolver is read-only"); int index = toIndex(list, property); try { list.set(index, value);
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; }
@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; }
@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; }