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