Maybe I am too accustomed to generics now but I can't imagine how a non-generic 
Component class definition with a generic Model parameter can look like.
Now Compinent is defined as 
 
     class Component<T> ... {
          public Component(final MarkupContainer<?> parent, final String id, 
final IModel<T> model) {
          ...
          }
 
          public final T getModelObject() {
          ...
          }
 
How should a non generic class definition look like? And pepole that don't like 
or need generics can still use the raw types.
My preference for a strong gneric API comes from the experience I made when I 
moved from Wicket 1.2 to 2.0. The simple syntactic modifications for generic 
Components showed up several programming errors that we otherwise had to debug 
during runtime of the application. It also showed up some design problems of 
our applicatioin. So a strong generic API may took a little bit more time in 
developing an application but it saves much more time in debugging.
 
Stefan Lindner
 

Reply via email to