public static N convertNumber()

in dekaf-jdbc/src/utils/Numbers.java [42:61]


  public static <N extends Number> N convertNumber(final Class<N> numberClass, final Number number) {
    if (number == null) return null;
    if (numberClass.isAssignableFrom(number.getClass())) return (N) number;

    if (numberClass == Byte.class || numberClass == byte.class) return (N) Byte.valueOf(number.byteValue());
    if (numberClass == Short.class || numberClass == short.class) return (N) Short.valueOf(number.shortValue());
    if (numberClass == Integer.class || numberClass == int.class) return (N) Integer.valueOf(number.intValue());
    if (numberClass == Long.class || numberClass == long.class) return (N) Long.valueOf(number.longValue());
    if (numberClass == Float.class || numberClass == float.class) return (N) Float.valueOf(number.floatValue());
    if (numberClass == Double.class || numberClass == double.class) return (N) Double.valueOf(number.doubleValue());
    if (numberClass == BigInteger.class) return (N) new BigInteger(number.toString());
    if (numberClass == BigDecimal.class) return (N) new BigDecimal(number.toString());

    String message =
        String.format("Unknown how to convert value (%s) of type %s to %s.",
                      number.toString(),
                      number.getClass().getCanonicalName(),
                      numberClass.getCanonicalName());
    throw new IllegalArgumentException(message);
  }