/** * @deprecated since 2.1, you should use the * {@link org.thymeleaf.standard.expression.IStandardConversionService} implementation * corresponding to the dialect you are using or the methods in * {@link EvaluationUtil}. * Will be removed in 3.0. */ @Deprecated public static BigDecimal evaluateAsNumber(final Object object) { return EvaluationUtil.evaluateAsNumber(object); }
private int integer(final Object number) { Validate.notNull(number, "Argument cannot be null"); return EvaluationUtil.evaluateAsNumber(number).intValue(); }
null : EvaluationUtil.evaluateAsNumber(year)); final BigDecimal nMonth = (month == null? null : EvaluationUtil.evaluateAsNumber(month)); final BigDecimal nDay = (day == null? null : EvaluationUtil.evaluateAsNumber(day)); final BigDecimal nHour = (hour == null? null : EvaluationUtil.evaluateAsNumber(hour)); final BigDecimal nMinute = (minute == null? null : EvaluationUtil.evaluateAsNumber(minute)); final BigDecimal nSecond = (second == null? null : EvaluationUtil.evaluateAsNumber(second)); final BigDecimal nMillisecond = (millisecond == null? null : EvaluationUtil.evaluateAsNumber(millisecond));
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
static Object executeMinus(final Configuration configuration, final IProcessingContext processingContext, final MinusExpression expression, final StandardExpressionExecutionContext expContext) { if (logger.isTraceEnabled()) { logger.trace("[THYMELEAF][{}] Evaluating minus expression: \"{}\"", TemplateEngine.threadIndex(), expression.getStringRepresentation()); } Object operandValue = expression.getOperand().execute(configuration, processingContext, expContext); if (operandValue == null) { operandValue = "null"; } final BigDecimal operandNumberValue = EvaluationUtil.evaluateAsNumber(operandValue); if (operandNumberValue != null) { // Addition will act as a mathematical 'plus' return operandNumberValue.multiply(BigDecimal.valueOf(-1)); } throw new TemplateProcessingException( "Cannot execute minus: operand is \"" + LiteralValue.unwrap(operandValue) + "\""); }
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue); if (leftNumberValue != null && rightNumberValue != null) { try {
static Object executeSubtraction(final Configuration configuration, final IProcessingContext processingContext, final SubtractionExpression expression, final StandardExpressionExecutionContext expContext) { if (logger.isTraceEnabled()) { logger.trace("[THYMELEAF][{}] Evaluating subtraction expression: \"{}\"", TemplateEngine.threadIndex(), expression.getStringRepresentation()); } Object leftValue = expression.getLeft().execute(configuration, processingContext, expContext); Object rightValue = expression.getRight().execute(configuration, processingContext, expContext); if (leftValue == null) { leftValue = "null"; } if (rightValue == null) { rightValue = "null"; } final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue); if (leftNumberValue != null && rightNumberValue != null) { // Addition will act as a mathematical 'plus' return leftNumberValue.subtract(rightNumberValue); } throw new TemplateProcessingException( "Cannot execute subtraction: operands are \"" + LiteralValue.unwrap(leftValue) + "\" and \"" + LiteralValue.unwrap(rightValue) + "\""); }
static Object executeMultiplication(final Configuration configuration, final IProcessingContext processingContext, final MultiplicationExpression expression, final StandardExpressionExecutionContext expContext) { if (logger.isTraceEnabled()) { logger.trace("[THYMELEAF][{}] Evaluating multiplication expression: \"{}\"", TemplateEngine.threadIndex(), expression.getStringRepresentation()); } Object leftValue = expression.getLeft().execute(configuration, processingContext, expContext); Object rightValue = expression.getRight().execute(configuration, processingContext, expContext); if (leftValue == null) { leftValue = "null"; } if (rightValue == null) { rightValue = "null"; } final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue); if (leftNumberValue != null && rightNumberValue != null) { // Addition will act as a mathematical 'plus' return leftNumberValue.multiply(rightNumberValue); } throw new TemplateProcessingException( "Cannot execute multiplication: operands are \"" + LiteralValue.unwrap(leftValue) + "\" and \"" + LiteralValue.unwrap(rightValue) + "\""); }
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue);
static Object executeRemainder(final Configuration configuration, final IProcessingContext processingContext, final RemainderExpression expression, final StandardExpressionExecutionContext expContext) { if (logger.isTraceEnabled()) { logger.trace("[THYMELEAF][{}] Evaluating remainder expression: \"{}\"", TemplateEngine.threadIndex(), expression.getStringRepresentation()); } Object leftValue = expression.getLeft().execute(configuration, processingContext, expContext); Object rightValue = expression.getRight().execute(configuration, processingContext, expContext); if (leftValue == null) { leftValue = "null"; } if (rightValue == null) { rightValue = "null"; } final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue); if (leftNumberValue != null && rightNumberValue != null) { // Addition will act as a mathematical 'plus' return leftNumberValue.remainder(rightNumberValue); } throw new TemplateProcessingException( "Cannot execute division: operands are \"" + LiteralValue.unwrap(leftValue) + "\" and \"" + LiteralValue.unwrap(rightValue) + "\""); }
final BigDecimal leftNumberValue = EvaluationUtil.evaluateAsNumber(leftValue); final BigDecimal rightNumberValue = EvaluationUtil.evaluateAsNumber(rightValue); if (leftNumberValue != null && rightNumberValue != null) {