@Override public Object getValue(ELContext context, Object base, Object property) { if (base instanceof JSONObject) { context.setPropertyResolved(true); return ((JSONObject) base).opt(String.valueOf(property)); } if (base instanceof JSONArray) { context.setPropertyResolved(true); int index = toInt(property); return ((JSONArray) base).opt(index); } return null; }
@Override public boolean isReadOnly(ELContext context, Object base, Object property) { if (isJson(base)) { context.setPropertyResolved(true); } return false; }
/** * @return a default ELResolver with functionality needed by all * expression evaluation. */ private ELResolver createDefaultELResolver() { CompositeELResolver resolver = new CompositeELResolver(); // Resolvers, in the order they will be most commonly accessed. // Moving JsonELResolver to the end makes JSON property resolution twice // as slow, so this is quite important. resolver.add(new JsonELResolver()); resolver.add(new MapELResolver()); resolver.add(new ListELResolver()); resolver.add(new ArrayELResolver()); // TODO: bean el resolver? return resolver; }
@Override public Object getValue(ELContext context, Object base, Object property) { if (base instanceof JSONObject) { context.setPropertyResolved(true); return ((JSONObject) base).opt(String.valueOf(property)); } if (base instanceof JSONArray) { context.setPropertyResolved(true); int index = toInt(property); return ((JSONArray) base).opt(index); } return null; }
@Override public boolean isReadOnly(ELContext context, Object base, Object property) { if (isJson(base)) { context.setPropertyResolved(true); } return false; }
/** * @return a default ELResolver with functionality needed by all * expression evaluation. */ private ELResolver createDefaultELResolver() { CompositeELResolver resolver = new CompositeELResolver(); // Resolvers, in the order they will be most commonly accessed. // Moving JsonELResolver to the end makes JSON property resolution twice // as slow, so this is quite important. resolver.add(new JsonELResolver()); resolver.add(new MapELResolver()); resolver.add(new ListELResolver()); resolver.add(new ArrayELResolver()); // TODO: bean el resolver? return resolver; }
@Override public Object getValue(ELContext context, Object base, Object property) { if (base instanceof JSONObject) { context.setPropertyResolved(true); return ((JSONObject) base).opt(String.valueOf(property)); } if (base instanceof JSONArray) { context.setPropertyResolved(true); int index = toInt(property); return ((JSONArray) base).opt(index); } return null; }
@Override public boolean isReadOnly(ELContext context, Object base, Object property) { if (isJson(base)) { context.setPropertyResolved(true); } return false; }
/** * @return a default ELResolver with functionality needed by all * expression evaluation. */ private ELResolver createDefaultELResolver() { CompositeELResolver resolver = new CompositeELResolver(); // Resolvers, in the order they will be most commonly accessed. // Moving JsonELResolver to the end makes JSON property resolution twice // as slow, so this is quite important. resolver.add(new JsonELResolver()); resolver.add(new MapELResolver()); resolver.add(new ListELResolver()); resolver.add(new ArrayELResolver()); // TODO: bean el resolver? return resolver; }
@Override public Object getValue(ELContext context, Object base, Object property) { if (base instanceof JSONObject) { context.setPropertyResolved(true); return ((JSONObject) base).opt(String.valueOf(property)); } if (base instanceof JSONArray) { context.setPropertyResolved(true); int index = toInt(property); return ((JSONArray) base).opt(index); } return null; }
@Override public boolean isReadOnly(ELContext context, Object base, Object property) { if (isJson(base)) { context.setPropertyResolved(true); } return false; }
/** * @return a default ELResolver with functionality needed by all * expression evaluation. */ private ELResolver createDefaultELResolver() { CompositeELResolver resolver = new CompositeELResolver(); // Resolvers, in the order they will be most commonly accessed. // Moving JsonELResolver to the end makes JSON property resolution twice // as slow, so this is quite important. resolver.add(new JsonELResolver()); resolver.add(new MapELResolver()); resolver.add(new ListELResolver()); resolver.add(new ArrayELResolver()); // TODO: bean el resolver? return resolver; }
@Override public Object getValue(ELContext context, Object base, Object property) { if (base instanceof JSONObject) { context.setPropertyResolved(true); return ((JSONObject) base).opt(String.valueOf(property)); } if (base instanceof JSONArray) { context.setPropertyResolved(true); int index = toInt(property); return ((JSONArray) base).opt(index); } return null; }
@Override public boolean isReadOnly(ELContext context, Object base, Object property) { if (isJson(base)) { context.setPropertyResolved(true); } return false; }
/** * @return a default ELResolver with functionality needed by all * expression evaluation. */ private ELResolver createDefaultELResolver() { CompositeELResolver resolver = new CompositeELResolver(); // Resolvers, in the order they will be most commonly accessed. // Moving JsonELResolver to the end makes JSON property resolution twice // as slow, so this is quite important. resolver.add(new JsonELResolver()); resolver.add(new MapELResolver()); resolver.add(new ListELResolver()); resolver.add(new ArrayELResolver()); // TODO: bean el resolver? return resolver; }