@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateNumberModel targetModel = null; TemplateModel tm = target.eval(env); try { targetModel = (TemplateNumberModel) tm; } catch (ClassCastException cce) { throw new NonNumericalException(target, tm, env); } if (!isMinus) { return targetModel; } target.assertNonNull(targetModel, env); Number n = targetModel.getAsNumber(); n = ArithmeticEngine.CONSERVATIVE_ENGINE.multiply(MINUS_ONE, n); return new SimpleNumber(n); }
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateNumberModel targetModel = null; TemplateModel tm = target.eval(env); try { targetModel = (TemplateNumberModel) tm; } catch (ClassCastException cce) { throw new NonNumericalException(target, tm, env); } if (!isMinus) { return targetModel; } target.assertNonNull(targetModel, env); Number n = targetModel.getAsNumber(); n = ArithmeticEngine.CONSERVATIVE_ENGINE.multiply(MINUS_ONE, n); return new SimpleNumber(n); }
TemplateModel _getAsTemplateModel(Environment env) throws TemplateException { TemplateNumberModel targetModel = null; try { targetModel = (TemplateNumberModel) target.getAsTemplateModel(env); } catch (ClassCastException cce) { String msg = "Error " + getStartLocation(); msg += "\nExpression " + target + " is not numerical."; throw new NonNumericalException(msg, env); } if (!isMinus) { return targetModel; } Number n = targetModel.getAsNumber(); n = ArithmeticEngine.CONSERVATIVE_ENGINE.multiply(MINUS_ONE, n); return new SimpleNumber(n); }
@Override TemplateModel _eval(Environment env) throws TemplateException { TemplateNumberModel targetModel = null; TemplateModel tm = target.eval(env); try { targetModel = (TemplateNumberModel) tm; } catch (ClassCastException cce) { throw new NonNumericalException(target, tm, env); } if (!isMinus) { return targetModel; } target.assertNonNull(targetModel, env); Number n = targetModel.getAsNumber(); n = ArithmeticEngine.CONSERVATIVE_ENGINE.multiply(MINUS_ONE, n); return new SimpleNumber(n); }