wicket-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "James Carman" <ja...@carmanconsulting.com>
Subject Re: Making Component easier to Generify
Date Thu, 12 Jun 2008 15:38:43 GMT
You mean like C++?

On Thu, Jun 12, 2008 at 11:35 AM, Igor Vaynberg <igor.vaynberg@gmail.com> wrote:
> indeed. i wouldnt mind if final was the default in java :)
>
> -igor
>
> On Thu, Jun 12, 2008 at 8:18 AM, Martijn Dashorst
> <martijn.dashorst@gmail.com> wrote:
>> Without the use of final wicket would not have made it this far.
>>
>> Martijn
>>
>> On Thu, Jun 12, 2008 at 5:08 PM, Brill Pappin <brill@pappin.ca> wrote:
>>> I understand the reasoning, however I think "best practice" can be debated.
>>> To use your example Swing allows the user to override quite a bit, and it
>>> doesn't make any (or very few) assumptions on what should and should not be
>>> done.
>>>
>>> I don't like API's that assume I'm an idiot and prevent me from manipulating
>>> them how I see fit. If I cause a bug that I have to deal with, thats *my*
>>> problem to resolve.
>>>
>>> In my book (and I'm not the only one) excessive use of final is an
>>> anti-pattern.
>>>
>>> - Brill Pappin
>>>
>>> On 12-Jun-08, at 10:01 AM, cowwoc wrote:
>>>
>>>>
>>>> Brill,
>>>>
>>>> This is actually an API "best practice". Classes fall into two categories:
>>>> ones designed for subclassing, and ones designed to be final. The same
>>>> goes
>>>> for methods. Swing is full of examples of what goes wrong when people
>>>> override methods in classes that haven't been designed with subclassing in
>>>> mind.
>>>>
>>>> Gili
>>>>
>>>>
>>>> Brill Pappin wrote:
>>>>>
>>>>> on removing the finals
>>>>>
>>>>> The final members are the worst thing I've had to deal with in Wicket
>>>>> so far.
>>>>> Although I understand that there may be a reason for them, they are
>>>>> more a hinderance than anything else and seem to be trying to "protect
>>>>> users from themselves".
>>>>>
>>>>> - Brill Pappin
>>>>>
>>>>>
>>>>> On 12-Jun-08, at 1:03 AM, cowwoc wrote:
>>>>>
>>>>>>
>>>>>>
>>>>>> Have you considered moving from subclassing to composition in Wicket
>>>>>> using
>>>>>> Callable<T>?
>>>>>>
>>>>>> Currently it is quite common for developers to subclass a component
>>>>>> in order
>>>>>> to override isVisible() and other properties. I am proposing that
>>>>>> instead
>>>>>> the component classes become final and properties may only be set
>>>>>> using
>>>>>> setter methods. The setter methods would take Callable<T> instead
of
>>>>>> T, so
>>>>>> for example setVisible(boolean) would become
>>>>>> setVisible(Callable<Boolean>)
>>>>>>
>>>>>> The benefit of this approach is that you could introduce static
>>>>>> factory
>>>>>> methods to the Wicket components which would make them much easier
>>>>>> to use in
>>>>>> their Generic form. You could then introduce various helper classes
to
>>>>>> create Callable<T> for constant values, such as
>>>>>> Callable.valueOf(true) would
>>>>>> return a Callable<Boolean> that always returns true.
>>>>>> --
>>>>>> View this message in context:
>>>>>>
>>>>>> http://www.nabble.com/users%2C-please-give-us-your-opinion%3A-what-is-your-take-on-generics-with-Wicket-tp17589984p17792488.html
>>>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>>>
>>>>>>
>>>>>> ---------------------------------------------------------------------
>>>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>>>
>>>>>
>>>>>
>>>>> ---------------------------------------------------------------------
>>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>>
>>>>>
>>>>>
>>>>
>>>> --
>>>> View this message in context:
>>>> http://www.nabble.com/users%2C-please-give-us-your-opinion%3A-what-is-your-take-on-generics-with-Wicket-tp17589984p17800710.html
>>>> Sent from the Wicket - User mailing list archive at Nabble.com.
>>>>
>>>>
>>>> ---------------------------------------------------------------------
>>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>>
>>>
>>>
>>> ---------------------------------------------------------------------
>>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>>> For additional commands, e-mail: users-help@wicket.apache.org
>>>
>>>
>>
>>
>>
>> --
>> Become a Wicket expert, learn from the best: http://wicketinaction.com
>> Apache Wicket 1.3.3 is released
>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3
>>
>> ---------------------------------------------------------------------
>> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
>> For additional commands, e-mail: users-help@wicket.apache.org
>>
>>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
> For additional commands, e-mail: users-help@wicket.apache.org
>
>

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@wicket.apache.org
For additional commands, e-mail: users-help@wicket.apache.org


Mime
View raw message