001
014
015 package com.liferay.portal.typeconverter;
016
017 import java.math.BigDecimal;
018
019 import jodd.typeconverter.TypeConversionException;
020 import jodd.typeconverter.TypeConverter;
021
022
025 public class NumberConverter implements TypeConverter<Number> {
026
027 @Override
028 public Number convert(Object value) {
029 if (value == null) {
030 return null;
031 }
032
033 if (value.getClass() == Number.class) {
034 return (Number)value;
035 }
036
037 try {
038 String valueString = value.toString();
039
040 valueString = valueString.trim();
041
042 return new BigDecimal(valueString);
043 }
044 catch (NumberFormatException nfe) {
045 throw new TypeConversionException(value, nfe);
046 }
047 }
048
049 }