package org.springframework.binding.convert.converters; import org.springframework.util.NumberUtils; /** * A one-way converter that can convert from any JDK-standard Number implementation to any other JDK-standard Number * implementation. * * Support Number classes include byte, short, integer, float, double, long, big integer, big decimal. This class * delegates to {@link NumberUtils#convertNumberToTargetClass(Number, Class)} to perform the conversion. * * @see java.lang.Byte * @see java.lang.Short * @see java.lang.Integer * @see java.lang.Long * @see java.math.BigInteger * @see java.lang.Float * @see java.lang.Double * @see java.math.BigDecimal * * @author Keith Donald */ public class NumberToNumber implements Converter { public Class<?> getSourceClass() { return Number.class; } public Class<?> getTargetClass() { return Number.class; } @SuppressWarnings("unchecked") public Object convertSourceToTargetClass(Object source, Class<?> targetClass) throws Exception { return NumberUtils.convertNumberToTargetClass((Number) source, (Class<? extends Number>) targetClass); } }