Yes, I know that the wicket developers are rethinking Generics. But I
think the current 1.4M2 implementation of AjaxButton is not very
helpful. The AjaxButton componet is the replacement for AjaxsubmitButton
(written down in the JavaDoc).

Now I have a Form 

        MyForm<X> {
           ...
           new AjaxButon<X> {
              onSubmit(AjaxRequestTarget target, Form<?> form) {
              }
           }
        }

Why is the Form in the onSubmit method marked as <?> ? Why is the method
in the M2 implementation

        public abstract class AjaxButton<T> extends Button<T> {
           ...
           public AjaxButton(String id, final Form< ? > form)
           ...
        }

Should the implementaion not be

        public abstract class AjaxButton<T> extends Button<T> {
           ...
           public AjaxButton(String id, final Form<T> form)
           ...
         onSubmit(AjaxRequestTarget target, Form<?> form)
           ...
        }

so that the onSubmit method can be overrritten like

        @Override
        onSubmit(AjaxRequestTarget target, Form<X> form) {
           X modelObject = form.getModelObject();
        }

Currently the situation is

        @Override
        onSubmit(AjaxRequestTarget target, Form<?> form) {
           Object modelObject = form.getModelObject();
        }

and a typecat is needed.

Stefan

Reply via email to