From c07a87a120592cd99a884f116af976e5c30fba7e Mon Sep 17 00:00:00 2001 From: Ruben Dijkstra Date: Mon, 17 Nov 2014 22:29:07 +0100 Subject: [PATCH] Merge NumberExpression.cast() and MathUtils.cast() --- .../query/types/expr/NumberExpression.java | 26 +------------------ .../main/java/com/mysema/util/MathUtils.java | 2 +- 2 files changed, 2 insertions(+), 26 deletions(-) diff --git a/querydsl-core/src/main/java/com/mysema/query/types/expr/NumberExpression.java b/querydsl-core/src/main/java/com/mysema/query/types/expr/NumberExpression.java index 720bc8cd3..277328050 100644 --- a/querydsl-core/src/main/java/com/mysema/query/types/expr/NumberExpression.java +++ b/querydsl-core/src/main/java/com/mysema/query/types/expr/NumberExpression.java @@ -13,8 +13,6 @@ */ package com.mysema.query.types.expr; -import java.math.BigDecimal; -import java.math.BigInteger; import java.util.ArrayList; import java.util.List; @@ -148,30 +146,8 @@ public abstract class NumberExpression> extends return castToNum(Byte.class); } - @SuppressWarnings("unchecked") private T cast(Number number) { - Class type = (Class) getType(); - if (type.isAssignableFrom(number.getClass())) { - return (T) number; - } else if (Byte.class.equals(type)) { - return (T) Byte.valueOf(number.byteValue()); - } else if (Double.class.equals(type)) { - return (T) Double.valueOf(number.doubleValue()); - } else if (Float.class.equals(type)) { - return (T) Float.valueOf(number.floatValue()); - } else if (Integer.class.equals(type)) { - return (T) Integer.valueOf(number.intValue()); - } else if (Long.class.equals(type)) { - return (T) Long.valueOf(number.longValue()); - } else if (Short.class.equals(type)) { - return (T) Short.valueOf(number.shortValue()); - } else if (BigInteger.class.equals(type)) { - return (T) new BigInteger(String.valueOf(number.longValue())); - } else if (BigDecimal.class.equals(type)) { - return (T) new BigDecimal(number.toString()); - } else { - throw new IllegalArgumentException("Unsupported target type : " + type.getName()); - } + return MathUtils.cast(number, getType()); } @Override diff --git a/querydsl-core/src/main/java/com/mysema/util/MathUtils.java b/querydsl-core/src/main/java/com/mysema/util/MathUtils.java index 2fcb05b96..c899302c0 100644 --- a/querydsl-core/src/main/java/com/mysema/util/MathUtils.java +++ b/querydsl-core/src/main/java/com/mysema/util/MathUtils.java @@ -63,7 +63,7 @@ public final class MathUtils { rv = type.cast(new BigInteger(num.toString())); } } else { - throw new IllegalArgumentException(String.format("Illegal type : %s", type.getSimpleName())); + throw new IllegalArgumentException(String.format("Unsupported target type : %s", type.getSimpleName())); } return rv; }