Author: mgrigorov
Date: Sun Nov 14 18:08:17 2010
New Revision: 1035037

URL: http://svn.apache.org/viewvc?rev=1035037&view=rev
Log:
WICKET-1568 contribution for wicket 1.5 generics (IConverter)

Add generics to IConverter and all related classes

Modified:
    
wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java
    
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
    
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/IConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ByteConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/CharacterConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DoubleConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/FloatConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/IntegerConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/LongConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ShortConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
    
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/ConverterLocator.java
    wicket/trunk/wicket/src/main/java/org/apache/wicket/IConverterLocator.java
    
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java

Modified: 
wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java
 (original)
+++ 
wicket/trunk/testing/wicket-threadtest/src/main/java/org/apache/wicket/threadtest/apps/app1/Home.java
 Sun Nov 14 18:08:17 2010
@@ -172,38 +172,47 @@ public class Home extends WebPage
                        {
                                private static final long serialVersionUID = 1L;
 
+                               @SuppressWarnings("unchecked")
                                @Override
-                               public IConverter getConverter(Class<?> clazz)
+                               public <C> IConverter<C> getConverter(Class<C> 
clazz)
                                {
-                                       return new IConverter()
+                                       if (URL.class.isAssignableFrom(clazz))
                                        {
-                                               private static final long 
serialVersionUID = 1L;
-
-                                               /**
-                                                * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
-                                                *      java.util.Locale)
-                                                */
-                                               public URL 
convertToObject(String value, Locale locale)
+                                               return (IConverter<C>)new 
IConverter<URL>()
                                                {
-                                                       try
+                                                       private static final 
long serialVersionUID = 1L;
+
+                                                       /**
+                                                        * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
+                                                        *      
java.util.Locale)
+                                                        */
+                                                       public URL 
convertToObject(String value, Locale locale)
                                                        {
-                                                               return new 
URL(value.toString());
+                                                               try
+                                                               {
+                                                                       return 
new URL(value.toString());
+                                                               }
+                                                               catch 
(MalformedURLException e)
+                                                               {
+                                                                       throw 
new ConversionException("'" + value +
+                                                                               
"' is not a valid URL");
+                                                               }
                                                        }
-                                                       catch 
(MalformedURLException e)
+
+                                                       /**
+                                                        * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
+                                                        *      
java.util.Locale)
+                                                        */
+                                                       public String 
convertToString(URL value, Locale locale)
                                                        {
-                                                               throw new 
ConversionException("'" + value + "' is not a valid URL");
+                                                               return value != 
null ? value.toString() : null;
                                                        }
-                                               }
-
-                                               /**
-                                                * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
-                                                *      java.util.Locale)
-                                                */
-                                               public String 
convertToString(Object value, Locale locale)
-                                               {
-                                                       return value != null ? 
value.toString() : null;
-                                               }
-                                       };
+                                               };
+                                       }
+                                       else
+                                       {
+                                               return 
super.getConverter(clazz);
+                                       }
                                }
                        });
 
@@ -212,9 +221,9 @@ public class Home extends WebPage
                                private static final long serialVersionUID = 1L;
 
                                @Override
-                               public IConverter getConverter(Class<?> clazz)
+                               public <C> IConverter<C> getConverter(Class<C> 
clazz)
                                {
-                                       return new MaskConverter("(###) 
###-####", UsPhoneNumber.class);
+                                       return new MaskConverter<C>("(###) 
###-####", UsPhoneNumber.class);
                                }
                        });
 

Modified: 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
 (original)
+++ 
wicket/trunk/wicket-examples/src/main/java/org/apache/wicket/examples/forminput/FormInput.java
 Sun Nov 14 18:08:17 2010
@@ -70,6 +70,7 @@ public class FormInput extends WicketExa
                 * @param name
                 *            Component name
                 */
+               @SuppressWarnings("serial")
                public InputForm(String name)
                {
                        super(name, new 
CompoundPropertyModel<FormInputModel>(new FormInputModel()));
@@ -147,14 +148,15 @@ public class FormInput extends WicketExa
                        // TextField using a custom converter.
                        add(new TextField<URL>("urlProperty", URL.class)
                        {
+                               @SuppressWarnings("unchecked")
                                @Override
-                               public IConverter getConverter(final Class<?> 
type)
+                               public <C> IConverter<C> getConverter(final 
Class<C> type)
                                {
                                        if (URL.class.isAssignableFrom(type))
                                        {
-                                               return new IConverter()
+                                               return (IConverter<C>)new 
IConverter<URL>()
                                                {
-                                                       public Object 
convertToObject(String value, Locale locale)
+                                                       public URL 
convertToObject(String value, Locale locale)
                                                        {
                                                                try
                                                                {
@@ -167,7 +169,7 @@ public class FormInput extends WicketExa
                                                                }
                                                        }
 
-                                                       public String 
convertToString(Object value, Locale locale)
+                                                       public String 
convertToString(URL value, Locale locale)
                                                        {
                                                                return value != 
null ? value.toString() : null;
                                                        }
@@ -185,12 +187,12 @@ public class FormInput extends WicketExa
                        {
 
                                @Override
-                               public IConverter getConverter(final Class<?> 
type)
+                               public <C> IConverter<C> getConverter(final 
Class<C> type)
                                {
                                        if 
(UsPhoneNumber.class.isAssignableFrom(type))
                                        {
                                                // US telephone number mask
-                                               return new MaskConverter("(###) 
###-####", UsPhoneNumber.class);
+                                               return new 
MaskConverter<C>("(###) ###-####", UsPhoneNumber.class);
                                        }
                                        else
                                        {

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableChoiceLabel.java
 Sun Nov 14 18:08:17 2010
@@ -231,9 +231,9 @@ public class AjaxEditableChoiceLabel<T> 
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public IConverter getConverter(Class<?> type)
+                       public <C> IConverter<C> getConverter(Class<C> type)
                        {
-                               IConverter c = 
AjaxEditableChoiceLabel.this.getConverter(type);
+                               IConverter<C> c = 
AjaxEditableChoiceLabel.this.getConverter(type);
                                return c != null ? c : super.getConverter(type);
                        }
 

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/ajax/markup/html/AjaxEditableLabel.java
 Sun Nov 14 18:08:17 2010
@@ -213,7 +213,7 @@ public class AjaxEditableLabel<T> extend
         * @see org.apache.wicket.Component#getConverter(java.lang.Class)
         */
        @Override
-       public IConverter getConverter(Class<?> type)
+       public <C> IConverter<C> getConverter(Class<C> type)
        {
                return null;
        }
@@ -286,9 +286,9 @@ public class AjaxEditableLabel<T> extend
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public IConverter getConverter(Class<?> type)
+                       public <C> IConverter<C> getConverter(Class<C> type)
                        {
-                               IConverter c = 
AjaxEditableLabel.this.getConverter(type);
+                               IConverter<C> c = 
AjaxEditableLabel.this.getConverter(type);
                                return c != null ? c : super.getConverter(type);
                        }
 
@@ -330,9 +330,9 @@ public class AjaxEditableLabel<T> extend
                        private static final long serialVersionUID = 1L;
 
                        @Override
-                       public IConverter getConverter(Class<?> type)
+                       public <C> IConverter<C> getConverter(Class<C> type)
                        {
-                               IConverter c = 
AjaxEditableLabel.this.getConverter(type);
+                               IConverter<C> c = 
AjaxEditableLabel.this.getConverter(type);
                                return c != null ? c : super.getConverter(type);
                        }
 

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/DateTextField.java
 Sun Nov 14 18:08:17 2010
@@ -54,7 +54,7 @@ public class DateTextField extends TextF
        /**
         * The converter for the TextField
         */
-       private IConverter converter = null;
+       private IConverter<?> converter = null;
 
        /**
         * Creates a new DateTextField, without a specified pattern. This is 
the same as calling
@@ -148,7 +148,7 @@ public class DateTextField extends TextF
         * @see org.apache.wicket.markup.html.form.TextField
         */
        @Override
-       public IConverter getConverter(Class<?> type)
+       public <C> IConverter<C> getConverter(Class<C> type)
        {
                if (converter == null)
                {
@@ -156,7 +156,7 @@ public class DateTextField extends TextF
                }
                else
                {
-                       return converter;
+                       return (IConverter<C>)converter;
                }
        }
 

Modified: 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
 (original)
+++ 
wicket/trunk/wicket-extensions/src/main/java/org/apache/wicket/extensions/markup/html/form/palette/component/AbstractOptions.java
 Sun Nov 14 18:08:17 2010
@@ -24,6 +24,7 @@ import org.apache.wicket.markup.Componen
 import org.apache.wicket.markup.MarkupStream;
 import org.apache.wicket.markup.html.form.FormComponent;
 import org.apache.wicket.markup.html.form.IChoiceRenderer;
+import org.apache.wicket.util.convert.IConverter;
 import org.apache.wicket.util.string.AppendingStringBuffer;
 import org.apache.wicket.util.string.JavascriptUtils;
 import org.apache.wicket.util.string.Strings;
@@ -99,8 +100,8 @@ public abstract class AbstractOptions<T>
                                Object displayValue = 
renderer.getDisplayValue(choice);
                                Class<?> displayClass = displayValue == null ? 
null : displayValue.getClass();
 
-                               String displayString = 
getConverter(displayClass).convertToString(displayValue,
-                                       getLocale());
+                               IConverter<Object> converter = 
(IConverter<Object>)getConverter(displayClass);
+                               String displayString = 
converter.convertToString(displayValue, getLocale());
                                displayString = 
getLocalizer().getString(displayString, this, displayString);
 
                                if (getEscapeModelStrings())
@@ -165,10 +166,10 @@ public abstract class AbstractOptions<T>
        }
 
        /**
-       * A piece of javascript to avoid serializing the options during AJAX
-       * serialization.
-       */
-       protected void avoidAjaxSerialization() {
+        * A piece of javascript to avoid serializing the options during AJAX 
serialization.
+        */
+       protected void avoidAjaxSerialization()
+       {
                getResponse().write(
                        JavascriptUtils.SCRIPT_OPEN_TAG +
                                "if (typeof(Wicket) != \"undefined\" && 
typeof(Wicket.Form) != \"undefined\")" +

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/IConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/IConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/IConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/IConverter.java
 Sun Nov 14 18:08:17 2010
@@ -43,7 +43,7 @@ import org.apache.wicket.IClusterable;
  * @author Jonathan Locke
  * 
  */
-public interface IConverter extends IClusterable
+public interface IConverter<C> extends IClusterable
 {
        /**
         * Converts the given {...@link String} value
@@ -54,7 +54,7 @@ public interface IConverter extends IClu
         *            The locale used to convert the value
         * @return The converted value
         */
-       Object convertToObject(String value, Locale locale);
+       C convertToObject(String value, Locale locale);
 
        /**
         * Converts the given value to a string.
@@ -66,5 +66,5 @@ public interface IConverter extends IClu
         * 
         * @return The converted string value
         */
-       String convertToString(Object value, Locale locale);
+       String convertToString(C value, Locale locale);
 }
\ No newline at end of file

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/MaskConverter.java
 Sun Nov 14 18:08:17 2010
@@ -85,7 +85,7 @@ import javax.swing.text.MaskFormatter;
  * 
  * @author Eelco Hillenius
  */
-public class MaskConverter implements IConverter
+public class MaskConverter<C> implements IConverter<C>
 {
        private static final long serialVersionUID = 1L;
 
@@ -149,11 +149,11 @@ public class MaskConverter implements IC
         * 
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String, 
Locale)
         */
-       public Object convertToObject(String value, Locale locale)
+       public C convertToObject(String value, Locale locale)
        {
                try
                {
-                       return maskFormatter.stringToValue(value);
+                       return (C)maskFormatter.stringToValue(value);
                }
                catch (ParseException e)
                {
@@ -166,7 +166,7 @@ public class MaskConverter implements IC
         * 
         * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, 
Locale)
         */
-       public String convertToString(Object value, Locale locale)
+       public String convertToString(C value, Locale locale)
        {
                try
                {

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractConverter.java
 Sun Nov 14 18:08:17 2010
@@ -30,7 +30,7 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * 
  */
-public abstract class AbstractConverter implements IConverter
+public abstract class AbstractConverter<C> implements IConverter<C>
 {
        /** */
        private static final long serialVersionUID = 1L;
@@ -48,11 +48,11 @@ public abstract class AbstractConverter 
         * @throws ConversionException
         *             Thrown if parsing fails
         */
-       protected Object parse(final Format format, final Object value, Locale 
locale)
+       protected C parse(final Format format, final Object value, Locale 
locale)
        {
                final ParsePosition position = new ParsePosition(0);
                final String stringValue = value.toString();
-               final Object result = format.parseObject(stringValue, position);
+               final C result = (C)format.parseObject(stringValue, position);
                if (position.getIndex() != stringValue.length())
                {
                        throw newConversionException("Cannot parse '" + value + 
"' using format " + format,
@@ -84,12 +84,12 @@ public abstract class AbstractConverter 
        /**
         * @return The target type of this type converter
         */
-       protected abstract Class<?> getTargetType();
+       protected abstract Class<C> getTargetType();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, 
Locale)
         */
-       public String convertToString(final Object value, final Locale locale)
+       public String convertToString(final C value, final Locale locale)
        {
                if (value == null)
                {

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractDecimalConverter.java
 Sun Nov 14 18:08:17 2010
@@ -28,7 +28,7 @@ import java.util.concurrent.ConcurrentHa
  * @author Jonathan Locke
  * 
  */
-public abstract class AbstractDecimalConverter extends AbstractNumberConverter
+public abstract class AbstractDecimalConverter<N extends Number> extends 
AbstractNumberConverter<N>
 {
        private static final long serialVersionUID = 1L;
 

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractIntegerConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,7 +27,7 @@ import java.util.concurrent.ConcurrentHa
  * @author Jonathan Locke
  * 
  */
-public abstract class AbstractIntegerConverter extends AbstractNumberConverter
+public abstract class AbstractIntegerConverter<I extends Number> extends 
AbstractNumberConverter<I>
 {
        private static final long serialVersionUID = 1L;
 

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/AbstractNumberConverter.java
 Sun Nov 14 18:08:17 2010
@@ -28,7 +28,7 @@ import org.apache.wicket.util.convert.Co
  * @author Jonathan Locke
  * 
  */
-public abstract class AbstractNumberConverter extends AbstractConverter
+public abstract class AbstractNumberConverter<N extends Number> extends 
AbstractConverter<N>
 {
        /**
         * 
@@ -56,7 +56,7 @@ public abstract class AbstractNumberConv
         * @throws ConversionException
         *             if value is unparsable or out of range
         */
-       protected Number parse(Object value, final double min, final double 
max, Locale locale)
+       protected N parse(Object value, final double min, final double max, 
Locale locale)
        {
                if (locale == null)
                {
@@ -77,7 +77,7 @@ public abstract class AbstractNumberConv
                }
 
                final NumberFormat numberFormat = getNumberFormat(locale);
-               final Number number = (Number)parse(numberFormat, value, 
locale);
+               final N number = parse(numberFormat, value, locale);
 
                if (number == null)
                {
@@ -100,10 +100,10 @@ public abstract class AbstractNumberConv
        }
 
        /**
-        * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object, 
Locale)
+        * @see org.apache.wicket.util.convert.IConverter#convertToString(C, 
Locale)
         */
        @Override
-       public String convertToString(final Object value, Locale locale)
+       public String convertToString(final Number value, Locale locale)
        {
                NumberFormat fmt = getNumberFormat(locale);
                if (fmt != null)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BigDecimalConverter.java
 Sun Nov 14 18:08:17 2010
@@ -24,7 +24,7 @@ import java.util.Locale;
  * 
  * see IConverter
  */
-public class BigDecimalConverter extends AbstractDecimalConverter
+public class BigDecimalConverter extends AbstractDecimalConverter<BigDecimal>
 {
        private static final long serialVersionUID = 1L;
 
@@ -32,7 +32,7 @@ public class BigDecimalConverter extends
         * @see 
org.apache.wicket.util.convert.converters.AbstractConverter#getTargetType()
         */
        @Override
-       protected Class<?> getTargetType()
+       protected Class<BigDecimal> getTargetType()
        {
                return BigDecimal.class;
        }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/BooleanConverter.java
 Sun Nov 14 18:08:17 2010
@@ -29,19 +29,19 @@ import org.apache.wicket.util.string.Str
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class BooleanConverter extends AbstractConverter
+public class BooleanConverter extends AbstractConverter<Boolean>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a boolean converter
         */
-       public static final IConverter INSTANCE = new BooleanConverter();
+       public static final IConverter<Boolean> INSTANCE = new 
BooleanConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
         */
-       public Object convertToObject(final String value, Locale locale)
+       public Boolean convertToObject(final String value, Locale locale)
        {
                try
                {
@@ -57,7 +57,7 @@ public class BooleanConverter extends Ab
         * @see 
org.apache.wicket.util.convert.converter.AbstractConverter#getTargetType()
         */
        @Override
-       protected Class<?> getTargetType()
+       protected Class<Boolean> getTargetType()
        {
                return Boolean.class;
        }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ByteConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ByteConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ByteConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ByteConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,19 +27,19 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class ByteConverter extends AbstractIntegerConverter
+public class ByteConverter extends AbstractIntegerConverter<Byte>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a byte converter
         */
-       public static final IConverter INSTANCE = new ByteConverter();
+       public static final IConverter<Byte> INSTANCE = new ByteConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
         */
-       public Object convertToObject(final String value, Locale locale)
+       public Byte convertToObject(final String value, Locale locale)
        {
                final Number number = parse(value, Byte.MIN_VALUE, 
Byte.MAX_VALUE, locale);
 
@@ -55,7 +55,7 @@ public class ByteConverter extends Abstr
         * @see 
org.apache.wicket.util.convert.converter.AbstractConverter#getTargetType()
         */
        @Override
-       protected Class<?> getTargetType()
+       protected Class<Byte> getTargetType()
        {
                return Byte.class;
        }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/CharacterConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/CharacterConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/CharacterConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/CharacterConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,19 +27,19 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class CharacterConverter extends AbstractConverter
+public class CharacterConverter extends AbstractConverter<Character>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a character converter
         */
-       public static final IConverter INSTANCE = new CharacterConverter();
+       public static final IConverter<Character> INSTANCE = new 
CharacterConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)
         */
-       public Object convertToObject(final String value, Locale locale)
+       public Character convertToObject(final String value, Locale locale)
        {
                int length = value.length();
                if (length == 0)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DateConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,7 +27,7 @@ import org.apache.wicket.util.string.Str
  * 
  * @author Eelco Hillenius
  */
-public class DateConverter extends AbstractConverter
+public class DateConverter extends AbstractConverter<Date>
 {
        private static final long serialVersionUID = 1L;
 
@@ -42,7 +42,7 @@ public class DateConverter extends Abstr
                }
                else
                {
-                       return (Date)parse(getDateFormat(locale), value, 
locale);
+                       return parse(getDateFormat(locale), value, locale);
                }
        }
 
@@ -50,7 +50,7 @@ public class DateConverter extends Abstr
         * @see 
org.apache.wicket.util.convert.IConverter#convertToString(Object, 
java.util.Locale)
         */
        @Override
-       public String convertToString(final Object value, Locale locale)
+       public String convertToString(final Date value, Locale locale)
        {
                final DateFormat dateFormat = getDateFormat(locale);
                if (dateFormat != null)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DoubleConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DoubleConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DoubleConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/DoubleConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,14 +27,14 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class DoubleConverter extends AbstractDecimalConverter
+public class DoubleConverter extends AbstractDecimalConverter<Double>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a double converter
         */
-       public static final IConverter INSTANCE = new DoubleConverter();
+       public static final IConverter<Double> INSTANCE = new DoubleConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(String, 
java.util.Locale)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/FloatConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/FloatConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/FloatConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/FloatConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,14 +27,14 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class FloatConverter extends AbstractDecimalConverter
+public class FloatConverter extends AbstractDecimalConverter<Float>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a float converter
         */
-       public static final IConverter INSTANCE = new FloatConverter();
+       public static final IConverter<Float> INSTANCE = new FloatConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/IntegerConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/IntegerConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/IntegerConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/IntegerConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,14 +27,14 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class IntegerConverter extends AbstractIntegerConverter
+public class IntegerConverter extends AbstractIntegerConverter<Integer>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a integer converter
         */
-       public static final IConverter INSTANCE = new IntegerConverter();
+       public static final IConverter<Integer> INSTANCE = new 
IntegerConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/LongConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/LongConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/LongConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/LongConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,14 +27,14 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class LongConverter extends AbstractIntegerConverter
+public class LongConverter extends AbstractIntegerConverter<Long>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a long converter
         */
-       public static final IConverter INSTANCE = new LongConverter();
+       public static final IConverter<Long> INSTANCE = new LongConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ShortConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ShortConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ShortConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ShortConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,14 +27,14 @@ import org.apache.wicket.util.convert.IC
  * @author Eelco Hillenius
  * @author Jonathan Locke
  */
-public class ShortConverter extends AbstractIntegerConverter
+public class ShortConverter extends AbstractIntegerConverter<Short>
 {
        private static final long serialVersionUID = 1L;
 
        /**
         * The singleton instance for a short converter
         */
-       public static final IConverter INSTANCE = new ShortConverter();
+       public static final IConverter<Short> INSTANCE = new ShortConverter();
 
        /**
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,Locale)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlDateConverter.java
 Sun Nov 14 18:08:17 2010
@@ -25,7 +25,7 @@ import org.apache.wicket.util.string.Str
 /**
  * Converts to {...@link java.sql.Date}.
  */
-public class SqlDateConverter extends AbstractConverter
+public class SqlDateConverter extends AbstractConverter<Date>
 {
        private static final long serialVersionUID = 1L;
 
@@ -49,7 +49,7 @@ public class SqlDateConverter extends Ab
         *      java.util.Locale)
         */
        @Override
-       public String convertToString(final Object value, Locale locale)
+       public String convertToString(final Date value, Locale locale)
        {
                final DateFormat dateFormat = getDateFormat(locale);
                if (dateFormat != null)

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimeConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,7 +27,7 @@ import org.apache.wicket.util.convert.Co
 /**
  * Converts to {...@link Time}.
  */
-public class SqlTimeConverter extends AbstractConverter
+public class SqlTimeConverter extends AbstractConverter<Time>
 {
 
        private static final long serialVersionUID = 1L;
@@ -60,7 +60,7 @@ public class SqlTimeConverter extends Ab
        }
 
        @Override
-       public String convertToString(final Object value, Locale locale)
+       public String convertToString(final Time value, Locale locale)
        {
                if (value == null)
                {
@@ -70,7 +70,7 @@ public class SqlTimeConverter extends Ab
                {
                        locale = Locale.getDefault();
                }
-               Time time = (Time)value;
+               Time time = value;
                DateFormat format = 
DateFormat.getTimeInstance(DateFormat.SHORT, locale);
                return format.format(time);
        }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/SqlTimestampConverter.java
 Sun Nov 14 18:08:17 2010
@@ -27,7 +27,7 @@ import java.util.Locale;
  * 
  * @author eelcohillenius
  */
-public class SqlTimestampConverter extends AbstractConverter
+public class SqlTimestampConverter extends AbstractConverter<Timestamp>
 {
        private static final long serialVersionUID = 1L;
 
@@ -61,6 +61,7 @@ public class SqlTimestampConverter exten
         * @param dateFormat
         *            See java.text.DateFormat for details. Defaults to 
DateFormat.SHORT * @param
         *            timeFormat See java.text.DateFormat for details. Defaults 
to DateFormat.SHORT
+        * @param timeFormat
         */
        public SqlTimestampConverter(int dateFormat, int timeFormat)
        {
@@ -105,7 +106,7 @@ public class SqlTimestampConverter exten
         *      java.util.Locale)
         */
        @Override
-       public String convertToString(final Object value, Locale locale)
+       public String convertToString(final Timestamp value, Locale locale)
        {
                if (value == null)
                {
@@ -117,7 +118,7 @@ public class SqlTimestampConverter exten
                        locale = Locale.getDefault();
                }
 
-               Timestamp timestamp = (Timestamp)value;
+               Timestamp timestamp = value;
                DateFormat format = DateFormat.getDateTimeInstance(dateFormat, 
timeFormat, locale);
                return format.format(timestamp);
        }

Modified: 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter.java
 (original)
+++ 
wicket/trunk/wicket-util/src/main/java/org/apache/wicket/util/convert/converter/ZeroPaddingIntegerConverter.java
 Sun Nov 14 18:08:17 2010
@@ -25,7 +25,7 @@ import java.util.Locale;
  * @author Jonathan Locke
  * @author Al Maw
  */
-public class ZeroPaddingIntegerConverter extends AbstractIntegerConverter
+public class ZeroPaddingIntegerConverter extends 
AbstractIntegerConverter<Integer>
 {
        private static final long serialVersionUID = 1L;
 
@@ -47,7 +47,7 @@ public class ZeroPaddingIntegerConverter
         *      java.util.Locale)
         */
        @Override
-       public String convertToString(Object value, Locale locale)
+       public String convertToString(Integer value, Locale locale)
        {
                String result = super.convertToString(value, locale);
 

Modified: wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/Component.java Sun Nov 
14 18:08:17 2010
@@ -1363,7 +1363,7 @@ public abstract class Component
         * 
         * @return The converter that should be used by this component
         */
-       public IConverter getConverter(Class<?> type)
+       public <C> IConverter<C> getConverter(Class<C> type)
        {
                return 
getApplication().getConverterLocator().getConverter(type);
        }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/ConverterLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/ConverterLocator.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/ConverterLocator.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/ConverterLocator.java 
Sun Nov 14 18:08:17 2010
@@ -56,33 +56,33 @@ public class ConverterLocator implements
        /**
         * CoverterLocator that is to be used when no registered converter is 
found.
         */
-       private class DefaultConverter implements IConverter
+       private class DefaultConverter<C> implements IConverter<C>
        {
                private static final long serialVersionUID = 1L;
 
-               private final WeakReference<Class<?>> type;
+               private final WeakReference<Class<C>> type;
 
                /**
                 * Construct.
                 * 
                 * @param type
                 */
-               private DefaultConverter(Class<?> type)
+               private DefaultConverter(Class<C> type)
                {
-                       this.type = new WeakReference<Class<?>>(type);
+                       this.type = new WeakReference<Class<C>>(type);
                }
 
                /**
                 * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
                 *      java.util.Locale)
                 */
-               public Object convertToObject(String value, Locale locale)
+               public C convertToObject(String value, Locale locale)
                {
                        if (value == null)
                        {
                                return null;
                        }
-                       Class<?> theType = type.get();
+                       Class<C> theType = type.get();
                        if ("".equals(value))
                        {
                                if (String.class.equals(theType))
@@ -115,7 +115,7 @@ public class ConverterLocator implements
                 * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
                 *      java.util.Locale)
                 */
-               public String convertToString(Object value, Locale locale)
+               public String convertToString(C value, Locale locale)
                {
                        if (value == null || "".equals(value))
                        {
@@ -140,7 +140,7 @@ public class ConverterLocator implements
        private static final long serialVersionUID = 1L;
 
        /** Maps Classes to ITypeConverters. */
-       private final Map<String, IConverter> classToConverter = new 
HashMap<String, IConverter>();
+       private final Map<String, IConverter<?>> classToConverter = new 
HashMap<String, IConverter<?>>();
 
        /**
         * Constructor
@@ -178,9 +178,9 @@ public class ConverterLocator implements
         * @return The type converter that is registered for class c or null if 
no type converter was
         *         registered for class c
         */
-       public final IConverter get(Class<?> c)
+       public final <C> IConverter<C> get(Class<C> c)
        {
-               return classToConverter.get(c.getName());
+               return (IConverter<C>)classToConverter.get(c.getName());
        }
 
        /**
@@ -193,20 +193,20 @@ public class ConverterLocator implements
         * 
         * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(String, 
java.util.Locale)
         */
-       public final IConverter getConverter(Class<?> type)
+       public final <C> IConverter<C> getConverter(Class<C> type)
        {
                // Null is always converted to null
                if (type == null)
                {
-                       return new DefaultConverter(String.class);
+                       return (IConverter<C>)new 
DefaultConverter<String>(String.class);
                }
 
 
                // Get type converter for class
-               final IConverter converter = get(type);
+               final IConverter<C> converter = get(type);
                if (converter == null)
                {
-                       return new DefaultConverter(type);
+                       return new DefaultConverter<C>(type);
                }
                return converter;
        }
@@ -219,7 +219,7 @@ public class ConverterLocator implements
         * @return The converter that was registered for class c before removal 
or null if none was
         *         registered
         */
-       public final IConverter remove(Class<?> c)
+       public final IConverter<?> remove(Class<?> c)
        {
                return classToConverter.remove(c.getName());
        }
@@ -234,8 +234,7 @@ public class ConverterLocator implements
         * @return The previous registered converter for class c or null if 
none was registered yet for
         *         class c
         */
-       @SuppressWarnings("unchecked")
-       public final IConverter set(final Class c, final IConverter converter)
+       public final IConverter<?> set(final Class<?> c, final IConverter<?> 
converter)
        {
                if (converter == null)
                {

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/IConverterLocator.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/IConverterLocator.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- wicket/trunk/wicket/src/main/java/org/apache/wicket/IConverterLocator.java 
(original)
+++ wicket/trunk/wicket/src/main/java/org/apache/wicket/IConverterLocator.java 
Sun Nov 14 18:08:17 2010
@@ -40,5 +40,5 @@ public interface IConverterLocator exten
         * @param type
         * @return The converter for the given type.
         */
-       public IConverter getConverter(Class<?> type);
+       public <C> IConverter<C> getConverter(Class<C> type);
 }

Modified: 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
URL: 
http://svn.apache.org/viewvc/wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java?rev=1035037&r1=1035036&r2=1035037&view=diff
==============================================================================
--- 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
 (original)
+++ 
wicket/trunk/wicket/src/main/java/org/apache/wicket/markup/html/form/CheckBox.java
 Sun Nov 14 18:08:17 2010
@@ -134,8 +134,8 @@ public class CheckBox extends FormCompon
                checkComponentTagAttribute(tag, "type", "checkbox");
 
                final String value = getValue();
-               final IConverter converter = getConverter(Boolean.class);
-               final Boolean checked = 
(Boolean)converter.convertToObject(value, getLocale());
+               final IConverter<Boolean> converter = 
getConverter(Boolean.class);
+               final Boolean checked = converter.convertToObject(value, 
getLocale());
 
                if (Boolean.TRUE.equals(checked))
                {
@@ -183,11 +183,11 @@ public class CheckBox extends FormCompon
         * @see org.apache.wicket.Component#getConverter(java.lang.Class)
         */
        @Override
-       public final IConverter getConverter(Class<?> type)
+       public final <C> IConverter<C> getConverter(Class<C> type)
        {
                if (Boolean.class.equals(type))
                {
-                       return CheckBoxConverter.INSTANCE;
+                       return (IConverter<C>)CheckBoxConverter.INSTANCE;
                }
                else
                {
@@ -200,11 +200,11 @@ public class CheckBox extends FormCompon
         * 
         * @author igor.vaynberg
         */
-       private static class CheckBoxConverter implements IConverter
+       private static class CheckBoxConverter implements IConverter<Boolean>
        {
                private static final long serialVersionUID = 1L;
 
-               private static final IConverter INSTANCE = new 
CheckBoxConverter();
+               private static final IConverter<Boolean> INSTANCE = new 
CheckBoxConverter();
 
                /**
                 * Constructor
@@ -218,7 +218,7 @@ public class CheckBox extends FormCompon
                 * @see 
org.apache.wicket.util.convert.IConverter#convertToObject(java.lang.String,
                 *      java.util.Locale)
                 */
-               public Object convertToObject(String value, Locale locale)
+               public Boolean convertToObject(String value, Locale locale)
                {
                        if ("on".equals(value) || "true".equals(value))
                        {
@@ -234,9 +234,9 @@ public class CheckBox extends FormCompon
                 * @see 
org.apache.wicket.util.convert.IConverter#convertToString(java.lang.Object,
                 *      java.util.Locale)
                 */
-               public String convertToString(Object value, Locale locale)
+               public String convertToString(Boolean value, Locale locale)
                {
-                       return ((Boolean)value).toString();
+                       return value.toString();
                }
        }
 


Reply via email to