This:

                        add(new RequiredTextField("password", new 
PropertyModel(properties,
"password"))
                        {
                                protected final void onComponentTag(final 
ComponentTag tag)
                                {
                                        super.onComponentTag(tag);
                                        // clear the field after each render
                                        tag.put("value", "");
                                }
                        });

is an example of where such overrides are handy.

Another example is Link with a label inside. I'm starting to get
irritated with the fact that even though a label rendering was
requested as part of it's default behavior, and at least some people
were pro that, it ended in a stale mate again, and that even the basic
facility for letting people do that themselves (letting them override
onComponentTagBody) is yet again a point of debate.

If people think it is a better idea to start a vote explicitly naming
those components/ methods, that's fine I'll do that. But like I stated
with the proposal, I don't believe we have to be that strict on these
methods anymore. They served our purposes for protecting ourselves
against opening up too soon well, and as you can see from the history
of opening up these methods, there usually have been cases where it
made perfect sense, but we just didn't think about the use case
before.

Eelco


On 12/7/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> Please vote:
 [ x ] yes, make all onComponentTag and onComponentTagBody methods of
 the standard components in core non-final. This does leave the door
 open for specific components to not adhere to that - I'm not proposing
 a new standard - but if this wins we would remove final for most of em

Eelco

Reply via email to