Hello everyone, I feel bad that a vote thread has been converted to one of discussion... At this moment wicket is *for *creating custom components. If these custom component writing gets complicated we will not be able to appreciate wicket as much(as much as we do now).Generics will complicate the *extend* at the moment for new user...I feel(after reading through everything). In core-java , fewer classes aim for extension by user. They rather are end product to be used, to be composed of.
The best way still for wicket is *to implement generics partially *and* then start incorporating into OUT-OF-BOX(components less prone to extension) later on in further releases. The fact is that less people can make to wicket core-development team, and then who will maintain the bloat(meaning undesired syntactical features). Who will release non-generics versions for freshers. In Design Patterns I learnt about the open-closed principle. Closed for change and open for extension. Generics forces us to see into a new design pattern---Generify the the most closed only, based on use cases--If there is more of a need of extension of classes by end user AND there is flexibility while extending(wicket is one case which is flexible when you extend)--then wait, do not generify. * On Mon, Jun 2, 2008 at 11:03 PM, Bernard Niset <[EMAIL PROTECTED]> wrote: > Hi all, > > [X] Can best be done in a limited fashion, where we only generify > IModel but not components. I care more about what generifying can do > for API clarity (declaring a component to only accept certain models > for instance) than static type checking. > > [X] I might rethink upgrading if my choice doesn't win. > > > I didn't try wicket 1.4 yet, but I read questions and comments from users > in this list. My impression so far has been that there has been a small > design mistake in the way the current 1.4 implementation has been done. I > perceive that IModel<T> is conceptually correct as a Model can be seen as a > container of something (of type T). Writing DropDownChoice<T> is a shortcut > that does not seem conceptually correct as in this case, the component is > not a container of type T but a container of type IModel<T>. So you should > have something like DropDownChoice<IModel<T>> (I know this not valid java). > Generifying the Page component is even worse as possibly a page can hold > components with different model types and not have a model type on its own. > Also, wicket is designed to allow some components not to have model on their > own and rely on the model stored in a parent component (very nice and > powerful feature). > > Please note that using generic this way is already possible with wicket 1.3 > if you define an interface that would be for instance IMyModel<T> extends > IModel. For instance, I have a generic model defined as > DetachableBeanModel<K,T> where K is the key type and T is the bean type. > This type is indeed a container of a key element and of a bean element. > > I hope it helps, > Bernard. > > > > --------------------------------------------------------------------- > To unsubscribe, e-mail: [EMAIL PROTECTED] > For additional commands, e-mail: [EMAIL PROTECTED] > >