You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@commons.apache.org by oh...@apache.org on 2013/10/30 21:19:13 UTC

svn commit: r1537270 - /commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java

Author: oheger
Date: Wed Oct 30 20:19:13 2013
New Revision: 1537270

URL: http://svn.apache.org/r1537270
Log:
Generified LocaleConvertUtilsBean.

Again, it is not possible to go very far in applying meaningful type
parameters. For instance, for the convert() methods it does not seem to be
possible to use a type parameter for the result type as the target type is
changed dynamically based on some criteria.

Modified:
    commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java

Modified: commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java
URL: http://svn.apache.org/viewvc/commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java?rev=1537270&r1=1537269&r2=1537270&view=diff
==============================================================================
--- commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java (original)
+++ commons/proper/beanutils/branches/java5/src/main/java/org/apache/commons/beanutils/locale/LocaleConvertUtilsBean.java Wed Oct 30 20:19:13 2013
@@ -17,6 +17,14 @@
 
 package org.apache.commons.beanutils.locale;
 
+import java.lang.reflect.Array;
+import java.math.BigDecimal;
+import java.math.BigInteger;
+import java.util.Collection;
+import java.util.Locale;
+import java.util.Map;
+import java.util.Set;
+
 import org.apache.commons.beanutils.BeanUtils;
 import org.apache.commons.beanutils.locale.converters.BigDecimalLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.BigIntegerLocaleConverter;
@@ -26,23 +34,14 @@ import org.apache.commons.beanutils.loca
 import org.apache.commons.beanutils.locale.converters.IntegerLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.LongLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.ShortLocaleConverter;
-import org.apache.commons.beanutils.locale.converters.StringLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.SqlDateLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.SqlTimeLocaleConverter;
 import org.apache.commons.beanutils.locale.converters.SqlTimestampLocaleConverter;
-
+import org.apache.commons.beanutils.locale.converters.StringLocaleConverter;
 import org.apache.commons.collections.FastHashMap;
 import org.apache.commons.logging.Log;
 import org.apache.commons.logging.LogFactory;
 
-import java.lang.reflect.Array;
-import java.math.BigDecimal;
-import java.math.BigInteger;
-import java.util.Collection;
-import java.util.Locale;
-import java.util.Map;
-import java.util.Set;
-
 /**
  * <p>Utility methods for converting locale-sensitive String scalar values to objects of the
  * specified Class, String arrays to arrays of the specified Class and
@@ -214,7 +213,7 @@ public class LocaleConvertUtilsBean {
 
         LocaleConverter converter = lookup(String.class, locale);
 
-        return (String) converter.convert(String.class, value, pattern);
+        return converter.convert(String.class, value, pattern);
     }
 
     /**
@@ -228,7 +227,7 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
      */
-    public Object convert(String value, Class clazz) {
+    public Object convert(String value, Class<?> clazz) {
 
         return convert(value, clazz, defaultLocale, null);
     }
@@ -246,7 +245,7 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
      */
-    public Object convert(String value, Class clazz, String pattern) {
+    public Object convert(String value, Class<?> clazz, String pattern) {
 
         return convert(value, clazz, defaultLocale, pattern);
     }
@@ -265,7 +264,7 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
      */
-    public Object convert(String value, Class clazz, Locale locale, String pattern) {
+    public Object convert(String value, Class<?> clazz, Locale locale, String pattern) {
 
         if (log.isDebugEnabled()) {
             log.debug("Convert string " + value + " to class " +
@@ -297,7 +296,7 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
      */
-    public Object convert(String[] values, Class clazz, String pattern) {
+    public Object convert(String[] values, Class<?> clazz, String pattern) {
 
         return convert(values, clazz, getDefaultLocale(), pattern);
     }
@@ -313,7 +312,7 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
     */
-   public Object convert(String[] values, Class clazz) {
+   public Object convert(String[] values, Class<?> clazz) {
 
        return convert(values, clazz, getDefaultLocale(), null);
    }
@@ -331,9 +330,9 @@ public class LocaleConvertUtilsBean {
      * @throws org.apache.commons.beanutils.ConversionException if thrown by an
      * underlying Converter
      */
-    public Object convert(String[] values, Class clazz, Locale locale, String pattern) {
+    public Object convert(String[] values, Class<?> clazz, Locale locale, String pattern) {
 
-        Class type = clazz;
+        Class<?> type = clazz;
         if (clazz.isArray()) {
             type = clazz.getComponentType();
         }
@@ -360,7 +359,7 @@ public class LocaleConvertUtilsBean {
      *  Converter
      * @param locale The locale
      */
-    public void register(LocaleConverter converter, Class clazz, Locale locale) {
+    public void register(LocaleConverter converter, Class<?> clazz, Locale locale) {
 
         lookup(locale).put(clazz, converter);
     }
@@ -398,7 +397,7 @@ public class LocaleConvertUtilsBean {
      * @param clazz Class for which to remove a registered Converter
      * @param locale The locale
      */
-    public void deregister(Class clazz, Locale locale) {
+    public void deregister(Class<?> clazz, Locale locale) {
 
         lookup(locale).remove(clazz);
     }
@@ -412,7 +411,7 @@ public class LocaleConvertUtilsBean {
      * @param locale The Locale
      * @return The registered locale Converter, if any
      */
-    public LocaleConverter lookup(Class clazz, Locale locale) {
+    public LocaleConverter lookup(Class<?> clazz, Locale locale) {
 
         LocaleConverter converter = (LocaleConverter) lookup(locale).get(clazz);
 
@@ -511,9 +510,9 @@ public class LocaleConvertUtilsBean {
      */
     private static class DelegateFastHashMap extends FastHashMap {
 
-        private final Map map;
+        private final Map<Object, Object> map;
 
-        private DelegateFastHashMap(Map map) {
+        private DelegateFastHashMap(Map<Object, Object> map) {
             this.map = map;
         }
         @Override
@@ -529,7 +528,7 @@ public class LocaleConvertUtilsBean {
             return map.containsValue(value);
         }
         @Override
-        public Set entrySet() {
+        public Set<Map.Entry<Object, Object>> entrySet() {
             return map.entrySet();
         }
         @Override
@@ -549,13 +548,16 @@ public class LocaleConvertUtilsBean {
             return map.isEmpty();
         }
         @Override
-        public Set keySet() {
+        public Set<Object> keySet() {
             return map.keySet();
         }
         @Override
         public Object put(Object key, Object value) {
             return map.put(key, value);
         }
+        @SuppressWarnings({ "rawtypes", "unchecked" })
+        // we operate on very generic types (<Object, Object>), so there is
+        // no need for doing type checks
         @Override
         public void putAll(Map m) {
             map.putAll(m);
@@ -569,7 +571,7 @@ public class LocaleConvertUtilsBean {
             return map.size();
         }
         @Override
-        public Collection values() {
+        public Collection<Object> values() {
             return map.values();
         }
         @Override