« Return to Thread: users, please give us your opinion: what is your take on generics with Wicket

Re: Making Component easier to Generify

by cowwoc :: Rate this Message:

Reply to Author | View in Thread

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

 « Return to Thread: users, please give us your opinion: what is your take on generics with Wicket