svn commit: r901058 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

svn commit: r901058 - /ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java

adrianc
Author: adrianc
Date: Wed Jan 20 04:36:42 2010
New Revision: 901058

URL: http://svn.apache.org/viewvc?rev=901058&view=rev
Log:
Simplified the number converters. Eliminated an unnecessary abstract class, made use of Java's auto-boxing. Non-localized Number to String conversions use the the toString() method - so the result is what you would expect.

Modified:
    ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java

Modified: ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java
URL: http://svn.apache.org/viewvc/ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java?rev=901058&r1=901057&r2=901058&view=diff
==============================================================================
--- ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java (original)
+++ ofbiz/trunk/framework/base/src/org/ofbiz/base/conversion/NumberConverters.java Wed Jan 20 04:36:42 2010
@@ -33,32 +33,21 @@
 
 /** Number Converter classes. */
 public class NumberConverters implements ConverterLoader {
-    public static final String module = NumberConverters.class.getName();
 
-    public static abstract class AbstractToNumberConverter<S, T> extends AbstractUsesLocaleConverter<S, T> {
-        protected AbstractToNumberConverter(Class<S> sourceClass, Class<T> targetClass) {
-            super(sourceClass, targetClass);
-        }
-
-        protected Number fromString(String str, Locale locale) throws ConversionException {
-            NumberFormat nf = NumberFormat.getNumberInstance(locale);
-            try {
-                return nf.parse(str);
-            } catch (ParseException e) {
-                throw new ConversionException(e);
-            }
+    protected static Number fromString(String str, Locale locale) throws ConversionException {
+        NumberFormat nf = NumberFormat.getNumberInstance(locale);
+        try {
+            return nf.parse(str);
+        } catch (ParseException e) {
+            throw new ConversionException(e);
         }
     }
 
-    public static abstract class AbstractUsesLocaleConverter<S, T> extends AbstractLocalizedConverter<S, T> {
-        protected AbstractUsesLocaleConverter(Class<S> sourceClass, Class<T> targetClass) {
+    public static abstract class AbstractToNumberConverter<S, T> extends AbstractLocalizedConverter<S, T> {
+        protected AbstractToNumberConverter(Class<S> sourceClass, Class<T> targetClass) {
             super(sourceClass, targetClass);
         }
 
-        public T convert(S obj) throws ConversionException {
-            return convert(obj, Locale.getDefault(), null);
-        }
-
         public T convert(S obj, Locale locale, TimeZone timeZone, String formatString) throws ConversionException {
             return convert(obj, locale, null);
         }
@@ -70,7 +59,7 @@
         }
 
         public Double convert(BigDecimal obj) throws ConversionException {
-            return Double.valueOf(obj.doubleValue());
+            return obj.doubleValue();
         }
     }
 
@@ -80,7 +69,7 @@
         }
 
         public Float convert(BigDecimal obj) throws ConversionException {
-            return Float.valueOf(obj.floatValue());
+            return obj.floatValue();
         }
     }
 
@@ -90,7 +79,7 @@
         }
 
         public Integer convert(BigDecimal obj) throws ConversionException {
-            return Integer.valueOf(obj.intValue());
+            return obj.intValue();
         }
     }
 
@@ -112,7 +101,7 @@
         }
 
         public Long convert(BigDecimal obj) throws ConversionException {
-            return Long.valueOf(obj.longValue());
+            return obj.longValue();
         }
     }
 
@@ -128,11 +117,15 @@
         }
     }
 
-    public static class BigDecimalToString extends AbstractUsesLocaleConverter<BigDecimal, String> {
+    public static class BigDecimalToString extends AbstractToNumberConverter<BigDecimal, String> {
         public BigDecimalToString() {
             super(BigDecimal.class, String.class);
         }
 
+        public String convert(BigDecimal obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(BigDecimal obj, Locale locale, TimeZone timeZone) throws ConversionException {
             NumberFormat nf = NumberFormat.getNumberInstance(locale);
             return nf.format(obj.doubleValue());
@@ -155,7 +148,7 @@
         }
 
         public Float convert(Double obj) throws ConversionException {
-            return Float.valueOf(obj.floatValue());
+            return obj.floatValue();
         }
     }
 
@@ -165,7 +158,7 @@
         }
 
         public Integer convert(Double obj) throws ConversionException {
-            return Integer.valueOf(obj.intValue());
+            return obj.intValue();
         }
     }
 
@@ -187,7 +180,7 @@
         }
 
         public Long convert(Double obj) throws ConversionException {
-            return Long.valueOf(obj.longValue());
+            return obj.longValue();
         }
     }
 
@@ -203,11 +196,15 @@
         }
     }
 
-    public static class DoubleToString extends AbstractUsesLocaleConverter<Double, String> {
+    public static class DoubleToString extends AbstractToNumberConverter<Double, String> {
         public DoubleToString() {
             super(Double.class, String.class);
         }
 
+        public String convert(Double obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(Double obj, Locale locale, TimeZone timeZone) throws ConversionException {
             NumberFormat nf = NumberFormat.getNumberInstance(locale);
             return nf.format(obj.doubleValue());
@@ -230,7 +227,7 @@
         }
 
         public Double convert(Float obj) throws ConversionException {
-            return Double.valueOf(obj.doubleValue());
+            return obj.doubleValue();
         }
     }
 
@@ -240,7 +237,7 @@
         }
 
         public Integer convert(Float obj) throws ConversionException {
-            return Integer.valueOf(obj.intValue());
+            return obj.intValue();
         }
     }
 
@@ -262,7 +259,7 @@
         }
 
         public Long convert(Float obj) throws ConversionException {
-            return Long.valueOf(obj.longValue());
+            return obj.longValue();
         }
     }
 
@@ -278,11 +275,15 @@
         }
     }
 
-    public static class FloatToString extends AbstractUsesLocaleConverter<Float, String> {
+    public static class FloatToString extends AbstractToNumberConverter<Float, String> {
         public FloatToString() {
             super(Float.class, String.class);
         }
 
+        public String convert(Float obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(Float obj, Locale locale, TimeZone timeZone) throws ConversionException {
             NumberFormat nf = NumberFormat.getNumberInstance(locale);
             return nf.format(obj.floatValue());
@@ -305,7 +306,7 @@
         }
 
         public Double convert(Integer obj) throws ConversionException {
-            return Double.valueOf(obj.doubleValue());
+            return obj.doubleValue();
         }
     }
 
@@ -315,7 +316,7 @@
         }
 
         public Float convert(Integer obj) throws ConversionException {
-            return Float.valueOf(obj.floatValue());
+            return obj.floatValue();
         }
     }
 
@@ -337,7 +338,7 @@
         }
 
         public Long convert(Integer obj) throws ConversionException {
-            return Long.valueOf(obj.longValue());
+            return obj.longValue();
         }
     }
 
@@ -353,11 +354,15 @@
         }
     }
 
-    public static class IntegerToString extends AbstractUsesLocaleConverter<Integer, String> {
+    public static class IntegerToString extends AbstractToNumberConverter<Integer, String> {
         public IntegerToString() {
             super(Integer.class, String.class);
         }
 
+        public String convert(Integer obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(Integer obj, Locale locale, TimeZone timeZone) throws ConversionException {
             NumberFormat nf = NumberFormat.getNumberInstance(locale);
             return nf.format(obj.intValue());
@@ -380,7 +385,7 @@
         }
 
         public Double convert(Long obj) throws ConversionException {
-            return Double.valueOf(obj.doubleValue());
+            return obj.doubleValue();
         }
     }
 
@@ -390,7 +395,7 @@
         }
 
         public Float convert(Long obj) throws ConversionException {
-            return Float.valueOf(obj.floatValue());
+            return obj.floatValue();
         }
     }
 
@@ -400,7 +405,7 @@
         }
 
         public Integer convert(Long obj) throws ConversionException {
-            return Integer.valueOf(obj.intValue());
+            return obj.intValue();
         }
     }
 
@@ -428,11 +433,15 @@
         }
     }
 
-    public static class LongToString extends AbstractUsesLocaleConverter<Long, String> {
+    public static class LongToString extends AbstractToNumberConverter<Long, String> {
         public LongToString() {
             super(Long.class, String.class);
         }
 
+        public String convert(Long obj) throws ConversionException {
+            return obj.toString();
+        }
+
         public String convert(Long obj, Locale locale, TimeZone timeZone) throws ConversionException {
             NumberFormat nf = NumberFormat.getNumberInstance(locale);
             return nf.format(obj.longValue());
@@ -444,12 +453,16 @@
             super(String.class, BigDecimal.class);
         }
 
+        public BigDecimal convert(String obj) throws ConversionException {
+            return BigDecimal.valueOf(Double.valueOf(obj));
+        }
+
         public BigDecimal convert(String obj, Locale locale, TimeZone timeZone) throws ConversionException {
             String trimStr = StringUtil.removeSpaces(obj);
             if (trimStr.length() == 0) {
                 return null;
             }
-            return BigDecimal.valueOf(this.fromString(trimStr, locale).doubleValue());
+            return BigDecimal.valueOf(fromString(trimStr, locale).doubleValue());
         }
     }
 
@@ -458,12 +471,16 @@
             super(String.class, Double.class);
         }
 
+        public Double convert(String obj) throws ConversionException {
+            return Double.valueOf(obj);
+        }
+
         public Double convert(String obj, Locale locale, TimeZone timeZone) throws ConversionException {
             String trimStr = StringUtil.removeSpaces(obj);
             if (trimStr.length() == 0) {
                 return null;
             }
-            return this.fromString(trimStr, locale).doubleValue();
+            return fromString(trimStr, locale).doubleValue();
         }
     }
 
@@ -472,12 +489,16 @@
             super(String.class, Float.class);
         }
 
+        public Float convert(String obj) throws ConversionException {
+            return Float.valueOf(obj);
+        }
+
         public Float convert(String obj, Locale locale, TimeZone timeZone) throws ConversionException {
             String trimStr = StringUtil.removeSpaces(obj);
             if (trimStr.length() == 0) {
                 return null;
             }
-            return this.fromString(trimStr, locale).floatValue();
+            return fromString(trimStr, locale).floatValue();
         }
     }
 
@@ -486,12 +507,16 @@
             super(String.class, Integer.class);
         }
 
+        public Integer convert(String obj) throws ConversionException {
+            return Integer.valueOf(obj);
+        }
+
         public Integer convert(String obj, Locale locale, TimeZone timeZone) throws ConversionException {
             String trimStr = StringUtil.removeSpaces(obj);
             if (trimStr.length() == 0) {
                 return null;
             }
-            return this.fromString(trimStr, locale).intValue();
+            return fromString(trimStr, locale).intValue();
         }
     }
 
@@ -500,12 +525,16 @@
             super(String.class, Long.class);
         }
 
+        public Long convert(String obj) throws ConversionException {
+            return Long.valueOf(obj);
+        }
+
         public Long convert(String obj, Locale locale, TimeZone timeZone) throws ConversionException {
             String trimStr = StringUtil.removeSpaces(obj);
             if (trimStr.length() == 0) {
                 return null;
             }
-            return this.fromString(trimStr, locale).longValue();
+            return fromString(trimStr, locale).longValue();
         }
     }