uh that was:
class EmailField extends TextField[Email]
where the square brackets are angle brackets :)
Christian Helmbold-2 wrote:
>
>
> I think the difference between sub classing and static factory methods is
> a matter of taste in this case.
>
> If I have many fields, I'd need many classes for them. So I'd group them
> in a sub package. In the case of factory methods I'd group the methods to
> create fields in a class instead of a package.
>
> Subclass:
>
> 1 class UserEmailField extends TextField {
> 2 public UserEmailField(String id, IModel model) {
> 3 super(id, model);
> 4 setRequired(true);
> 5 add(EmailAddressValidator.getInstance())
> 6 add(UniqueValidator.unique(SystemUser.class, "email"));
> 7 }
> 8 }
>
> Factory method:
>
> 1 public static TextField emailTextField(String id){
> 2 return (TextField) new TextField(id)
> 3 .setRequired(true)
> 4 .add(EmailAddressValidator.getInstance())
> 5 .add(UniqueValidator.unique(SystemUser.class,
> "email"));
> 6 }
>
> Your answer shows me, that there is no dramatically simpler way to do
> this. If you ignore the two lines for factory class declaration factory
> methods are even a bit shorter. Or is there an advantage of sub classing
> that I have missed?
>
> Regards,
> Christian
>
>
>
> ----- Ursprüngliche Mail ----
>> Von: Igor Vaynberg <[email protected]>
>> An: [email protected]
>> Gesendet: Freitag, den 8. Mai 2009, 09:08:34 Uhr
>> Betreff: Re: How to avoid code duplication on forms?
>>
>> much simpler
>>
>> class UserEmailField extends TextField {
>> public UserEmailField(String id, IModel model) {
>> super(id, model);
>> add(EmailAddressValidator.getInstance())
>> add(UniqueValidator.unique(SystemUser.class, "email"));
>> }
>> }
>
>
>
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [email protected]
> For additional commands, e-mail: [email protected]
>
>
>
--
View this message in context:
http://www.nabble.com/How-to-avoid-code-duplication-on-forms--tp23440920p23445578.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]