@Override public Object get(Map<String, Object> model) { // HashMap<String, Object> local = new HashMap<String, Object>(model); Object ob = null; for (Expression expression : expressions) { ob = expression.get(model); } return ob; }
@Override public void setVariable(Variable v) { if (eh != null) eh.setVariable(v); if (args != null) for (Expression e : args) e.setVariable(v); }
@Test public void testVariable() throws Exception { Expression eh; eh = EvalTools.prepare("a=2"); Variable a = new Variable("a", 0); eh.setVariable(a); eh.get(); Assert.assertEquals(2, a.get()); }
@Test public void testClone() throws Exception { String exp = "1+\"ololo\".substring(2)"; Expression eh = EvalTools.prepare(exp); Object ob1 = eh.get(null); Object ob2 = eh.get(null); assertTrue(ob1 == ob2); eh = eh.clone(); Object ob3 = eh.get(null); assertTrue(ob1 != ob3); assertTrue(ob1.equals(ob3)); }
if (leftPart != null) { if (rightPart != null) { ob2 = rightPart.get(model); ob1 = function.getThatObject().get(model); ob1 = operation.leftPart().get(model); if (ob1 instanceof Map) { Object key = operation.rightPart().get(model); if (key instanceof TemplateBuilder.GString) key = key.toString(); return ob2; int index = ((Number) operation.rightPart().get(model)).intValue(); if (ob1 instanceof List) { List l = (List) ob1; Object thatObject = function.getThatObject().get(model); Function.Getter getter = function.getGetter(thatObject); Function.Setter setter = function.getSetter(thatObject); ob1 = leftPart.get(model); } else if (rightPart != null) { ob2 = rightPart.get(model); return setAndReturn(model, new Function.MapSetter(leftPart != null ? leftPart.raw() : rightPart.raw()), ob1, ob2, operator);
@Override public String toString() { if (hardcoded) { return String.valueOf(result); } return super.toString(); }
if (m.matches()) { if (m.groupCount() > 1 && m.group(2).length() > 0) { String value = removeUnderscores(m.group(1)); if ("d".equals(m.group(2))) { return Double.valueOf(value); String value = removeUnderscores(exp); try { return Integer.valueOf(value);
return Expression.Holder.NULL; Object obj = Expression.parse(exp); if (obj != null) { return new Expression.Holder(exp);
if (leftPart != null) { if (rightPart != null) { ob2 = rightPart.get(model); ob1 = function.getThatObject().get(model); ob1 = operation.leftPart().get(model); if (ob1 instanceof Map) { Object key = operation.rightPart().get(model); if (key instanceof TemplateBuilder.GString) key = key.toString(); return ob2; int index = ((Number) operation.rightPart().get(model)).intValue(); if (ob1 instanceof List) { List l = (List) ob1; Object thatObject = function.getThatObject().get(model); Function.Getter getter = function.getGetter(thatObject); Function.Setter setter = function.getSetter(thatObject); ob1 = leftPart.get(model); } else if (rightPart != null) { ob2 = rightPart.get(model); return setAndReturn(model, new Function.MapSetter(leftPart != null ? leftPart.raw() : rightPart.raw()), ob1, ob2, operator);
@Override public String toString() { if (hardcoded) { return String.valueOf(result); } return super.toString(); }
if (m.matches()) { if (m.groupCount() > 1 && m.group(2).length() > 0) { String value = removeUnderscores(m.group(1)); if ("d".equals(m.group(2))) { return Double.valueOf(value); String value = removeUnderscores(exp); try { return Integer.valueOf(value);
return Expression.Holder.NULL; Object obj = Expression.parse(exp); if (obj != null) { return new Expression.Holder(exp);
@Override public Object get(Map<String, Object> model) { // HashMap<String, Object> local = new HashMap<String, Object>(model); Object ob = null; for (Expression expression : expressions) { ob = expression.get(model); } return ob; }
@Override public void setVariable(Variable v) { if (collection == null) return; for (Expression e : collection) e.setVariable(v); }
@Override public T map(Map<String, Object> model) { return (T) expression.get(model); }
@Override public void setVariable(Variable v) { if (leftPart != null) leftPart.setVariable(v); if (rightPart != null) rightPart.setVariable(v); }
@Override public Expression clone() { TemplateBuilder tb = new TemplateBuilder(); for (Expression e : parts) { tb.parts.add(e.clone()); } return tb; }
public Object get() { return get(null); }