I second Matej here... maybe instead of GenericPanel<T>, GenericFragment<T>,
etc. you could name it something more explicit. Some examples:

SingleModelPanel<T>
ModelBoundPanel<T>

It took me the better part of one day to convert a partially genericized
project (we started out with 1.3 then switched to 1.4 mid-stream). The
project had 100k++ LOC. The resulting code is much easier to read.

Another thing that you can consider adding to the core... a utilities class
'Models' to wrap models so you don't have those pesky <> all over the place:

public MyPanel(String id, IModel<Integer> model)
{
   super (id, Models.compound (model)); // wrap model in a
CompoundPropertyModel
}




Matej Knopp-2 wrote:
> 
> There is one thing that helped me quite a lot when migration the
> project I'm working out. I've created GenericPanel,
> GenericWebMarkupContainer and GenericFragment classes. In most cases
> the only change was renaming Panel<MyClass> to GenericPanel<MyClass>.
> 
> I was wondering, even though those classes were farily simple, we
> might want to include them in Wicket anyway, for the sake of
> consistency and convenience.
> 
> -Matej
> 
> On Mon, Jun 30, 2008 at 12:28 PM, Johan Compagner <[EMAIL PROTECTED]>
> wrote:
>> i looked through the code and it is fine by me.
>> Lets test this then in a Build and see what people think of this.
>>
>>
>> On Mon, Jun 30, 2008 at 8:54 AM, Igor Vaynberg <[EMAIL PROTECTED]>
>> wrote:
>>
>>> unit tests are fixed...
>>>
>>> -igor
>>>
>>> On Sun, Jun 29, 2008 at 11:16 PM, Martijn Dashorst
>>> <[EMAIL PROTECTED]> wrote:
>>> > I'm guessing somewhere this week or so. We need to flush out the unit
>>> > test failures and get some preliminary feedback. Also we need to have
>>> > time available to actually build the release.
>>> >
>>> > My time is limited because we're in the final stages before publishing
>>> > and I have to read our book twice or so.
>>> >
>>> > Martijn
>>> >
>>> > On Mon, Jun 30, 2008 at 2:36 AM, James Carman
>>> > <[EMAIL PROTECTED]> wrote:
>>> >> What sort of time frame are we looking at for a release with this new
>>> >> generics paradigm?
>>> >>
>>> >> On Sun, Jun 29, 2008 at 3:54 PM, Igor Vaynberg
>>> <[EMAIL PROTECTED]>
>>> wrote:
>>> >>> On Sun, Jun 29, 2008 at 12:48 PM, Sven Meier <[EMAIL PROTECTED]>
>>> wrote:
>>> >>>> Hi,
>>> >>>>
>>> >>>> I've just converted two projects to the new generics setup and
>>> everything
>>> >>>> worked out nicely.
>>> >>>> I think this is how generics should be applied to Wicket.
>>> >>>>
>>> >>>> Igor, thanks for your hard work on this.
>>> >>>
>>> >>> wasnt just me :)
>>> >>>
>>> >>> -igor
>>> >>>
>>> >>>>
>>> >>>> Sven
>>> >>>>
>>> >>>> Igor Vaynberg schrieb:
>>> >>>>>
>>> >>>>> development of the 1.4 branch has been quiet lately, this is
>>> because
>>> >>>>> the core team has been busy working on an alternative way of
>>> >>>>> generifiing the framework. an early result of that effort can be
>>> found
>>> >>>>> here [1]. The key difference in [1] is that we have decoupled the
>>> >>>>> component from the type of the model.
>>> >>>>>
>>> >>>>> here is the list of major differences:
>>> >>>>>
>>> >>>>> (1) only components that use their model have a generic type
>>> >>>>> (components you are likely to call getmodel/getmodelobject on as a
>>> >>>>> user). so far these are link,form,formcomponent
>>> >>>>> subclasses,listview,listitem,(other repeaters will follow soon).
>>> this
>>> >>>>> allows for typesafety where it makes sense, and eliminates a ton
>>> of
>>> >>>>> noise from code. we will generify others upon request if a good
>>> >>>>> usecase is provided and we think it is widely applicable.
>>> >>>>>
>>> >>>>> (2) non-generified components do not have IModel<T> get/setModel
>>> and
>>> T
>>> >>>>> get/setModelObject, instead they have IModel<?>get/setDefaultModel
>>> and
>>> >>>>> Object get/setDefaultModelObject. this clearly expresses that the
>>> >>>>> default component model is not tied to the type of component. this
>>> is
>>> >>>>> a bit of a pain from the code migration point of view, but we
>>> think
>>> is
>>> >>>>> worth the effort. generifyed components are free to implement the
>>> old
>>> >>>>> IModel<T> get/setModel, etc, but have to keep the unsafe cast
>>> inside.
>>> >>>>> see ListItem for an example.
>>> >>>>>
>>> >>>>> basically we feel this is a much cleaner way then what is 1.4m2.
>>> this
>>> >>>>> is a call for confirmation/discussion from our user base. do try
>>> to
>>> >>>>> port a small project or a part of a larger project you are working
>>> on
>>> >>>>> to the [1] branch to see how the new api feels. if we do like this
>>> >>>>> more the new branch will be merged into what will be 1.4m3.
>>> >>>>>
>>> >>>>> [1]
>>> https://svn.apache.org/repos/asf/wicket/sandbox/ivaynberg/generics
>>> >>>>>
>>> >>>>> -igor
>>> >>>>>
>>> >>>>>
>>> ---------------------------------------------------------------------
>>> >>>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >>>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>>>>
>>> >>>>>
>>> >>>>>
>>> >>>>
>>> >>>>
>>> >>>>
>>> ---------------------------------------------------------------------
>>> >>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>>>
>>> >>>>
>>> >>>
>>> >>>
>>> ---------------------------------------------------------------------
>>> >>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >>> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>>
>>> >>>
>>> >>
>>> >> ---------------------------------------------------------------------
>>> >> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> >> For additional commands, e-mail: [EMAIL PROTECTED]
>>> >>
>>> >>
>>> >
>>> >
>>> >
>>> > --
>>> > Become a Wicket expert, learn from the best: http://wicketinaction.com
>>> > Apache Wicket 1.3.4 is released
>>> > Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.
>>> >
>>> > ---------------------------------------------------------------------
>>> > To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> > For additional commands, e-mail: [EMAIL PROTECTED]
>>> >
>>> >
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: [EMAIL PROTECTED]
>>> For additional commands, e-mail: [EMAIL PROTECTED]
>>>
>>>
>>
> 
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
> 
> 
> 

-- 
View this message in context: 
http://www.nabble.com/generics-tp18083910p18222779.html
Sent from the Wicket - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]

Reply via email to