@Override public Object calculate(JtwigContext context) throws CalculateException { Object resolved = variable.calculate(context); if (resolved instanceof Map) return ((Map) resolved).get(key.calculate(context)); else throw new CalculateException("Invalid input. Should be given a Map but a "+resolved.getClass().getName()+" was given."); } }
@Override public Object calculate(JtwigContext context) throws CalculateException { Object resolved = variable.calculate(context); if (resolved instanceof Map) return ((Map) resolved).get(key.calculate(context)); else throw new CalculateException("Invalid input. Should be given a Map but a "+resolved.getClass().getName()+" was given."); } }
@Override public Object calculate(JtwigContext context) throws CalculateException { try { return context.function(getName()).execute(arguments(context)); } catch (FunctionException e) { throw new CalculateException(e); } catch (FunctionNotFoundException e) { throw new CalculateException(e); } }
@Override public Object calculate(JtwigContext context) throws CalculateException { try { return context.function(getName()).execute(arguments(context)); } catch (FunctionException e) { throw new CalculateException(e); } catch (FunctionNotFoundException e) { throw new CalculateException(e); } }
@Override public Object calculate(JtwigContext context) throws CalculateException { switch (operator) { case NOT: return BooleanOperations.not(operand.calculate(context)); case SUB: return MathOperations.mul(-1, operand.calculate(context)); } throw new CalculateException("Unknown operator "+operator); } }
return false; throw new CalculateException("Unknown operator " + operator.toString());
@Override public Object calculate(JtwigContext context) throws CalculateException { switch (operator) { case NOT: return BooleanOperations.not(operand.calculate(context)); case SUB: return MathOperations.mul(-1, operand.calculate(context)); } throw new CalculateException("Unknown operator "+operator); } }
return false; throw new CalculateException("Unknown operator " + operator.toString());
@Override public Object calculate(JtwigContext context) throws CalculateException { try { Object resolved = expression.calculate(context); for (FunctionElement functionElement : filters) { List<Object> arguments = new ListBuilder<Object>() .add(resolved) .add(functionElement.getArguments().calculate(context).toArray()) .build(); resolved = context.function(functionElement.getName()).execute(arguments.toArray()); } return resolved; } catch (FunctionException e) { throw new CalculateException(e); } catch (FunctionNotFoundException e) { throw new CalculateException(e); } } }
@Override public Object calculate(JtwigContext context) throws CalculateException { try { Object resolved = expression.calculate(context); for (FunctionElement functionElement : filters) { List<Object> arguments = new ListBuilder<Object>() .add(resolved) .add(functionElement.getArguments().calculate(context).toArray()) .build(); resolved = context.function(functionElement.getName()).execute(arguments.toArray()); } return resolved; } catch (FunctionException e) { throw new CalculateException(e); } catch (FunctionNotFoundException e) { throw new CalculateException(e); } } }
@Override public Object calculate(JtwigContext context) throws CalculateException { Object contextObject = null; for (Object obj : getList()) { if (contextObject == null) contextObject = resolve(obj, context); else { ObjectExtractor objectExtractor = new ObjectExtractor(contextObject); if (obj instanceof Variable) { try { contextObject = objectExtractor.extract(((Variable) obj).getIdentifier()); } catch (ObjectExtractor.ExtractException e) { throw new CalculateException(e); } } else if (obj instanceof FunctionElement) { try { List<?> arguments = (List<?>) ((FunctionElement) obj).getArguments().calculate(context); contextObject = objectExtractor.extract(((FunctionElement) obj).getName(), arguments.toArray()); } catch (ObjectExtractor.ExtractException e) { throw new CalculateException(e); } } } } return contextObject; }
@Override public Object calculate(JtwigContext context) throws CalculateException { Object contextObject = null; for (Object obj : getList()) { if (contextObject == null) contextObject = resolve(obj, context); else { ObjectExtractor objectExtractor = new ObjectExtractor(contextObject); if (obj instanceof Variable) { try { contextObject = objectExtractor.extract(((Variable) obj).getIdentifier()); } catch (ObjectExtractor.ExtractException e) { throw new CalculateException(e); } } else if (obj instanceof FunctionElement) { try { List<?> arguments = (List<?>) ((FunctionElement) obj).getArguments().calculate(context); contextObject = objectExtractor.extract(((FunctionElement) obj).getName(), arguments.toArray()); } catch (ObjectExtractor.ExtractException e) { throw new CalculateException(e); } } } } return contextObject; }
private Object booleanExecute(JtwigContext resolver) throws CalculateException { switch (operator) { case AND: return BooleanOperations.and(left.calculate(resolver), right.calculate(resolver)); case OR: return BooleanOperations.or(left.calculate(resolver), right.calculate(resolver)); } throw new CalculateException("Unknown operator " + operator.toString()); }
private Object booleanExecute(JtwigContext resolver) throws CalculateException { switch (operator) { case AND: return BooleanOperations.and(left.calculate(resolver), right.calculate(resolver)); case OR: return BooleanOperations.or(left.calculate(resolver), right.calculate(resolver)); } throw new CalculateException("Unknown operator " + operator.toString()); }
private Object numericExecute(JtwigContext resolver) throws CalculateException { switch (operator) { case ADD: return MathOperations.sum(left.calculate(resolver), right.calculate(resolver)); case SUB: return MathOperations.sub(left.calculate(resolver), right.calculate(resolver)); case DIV: return MathOperations.div(left.calculate(resolver), right.calculate(resolver)); case TIMES: return MathOperations.mul(left.calculate(resolver), right.calculate(resolver)); case MOD: return MathOperations.mod(left.calculate(resolver), right.calculate(resolver)); } throw new CalculateException("Unknown operator " + operator.toString()); }
private Object numericExecute(JtwigContext resolver) throws CalculateException { switch (operator) { case ADD: return MathOperations.sum(left.calculate(resolver), right.calculate(resolver)); case SUB: return MathOperations.sub(left.calculate(resolver), right.calculate(resolver)); case DIV: return MathOperations.div(left.calculate(resolver), right.calculate(resolver)); case TIMES: return MathOperations.mul(left.calculate(resolver), right.calculate(resolver)); case MOD: return MathOperations.mod(left.calculate(resolver), right.calculate(resolver)); } throw new CalculateException("Unknown operator " + operator.toString()); }