Please change javadoc as well if you remove final (describe in short
the use case). In general I'm very very careful in opening things up.

Juergen

On 11/10/06, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
> Yeah. Erik, I see your point for the general case, but Alberto's case
> - which I have myself sometimes too - is that you only use a panel
> because you have to, but you want the user to view your component as
> one of it's embedded elements (in his case the TextField). I think
> that's a valid case.
>
> So, if there are no objections, I'll remove that final later today.
>
> Eelco
>
>
> On 11/10/06, Alberto Bueno <[EMAIL PROTECTED]> wrote:
> >
> >
> >  In my case, I have created a TextField component, that is a panel that
> > contains internally a TextField wicket component. Now, if I add the method
> > addToField, the user will have two methods:
> >
> >  TextField.add(IBehavior behavior)
> >  TextField.addToField(IBehavior behavior)
> >
> >  I think that this case will be more confused than if I have only one
> > method:
> >
> >  TextField.add(IBehavior behavior){
> >      textField.add(behavior);
> >  }
> >
> >  I don't want to add any behavior in the panel,  I only want to add
> > behaviors in the field. Why do I have to create another method, that it will
> > be more confused for the user?
> >
> >  This is the same situation that when we use the IAlternateParent. We add
> > the component in a component, but the real parent is another...
> >
> >
> >
> >
> >  I am definitely /not/ against removing final, but it is not going to
> > work (not in general that is).
> >
> > Alberto's defense is that the user thinks he is working with a field,
> > while in reality he is working with a panel. I assume that Alberto is
> > using a panel because he wants some extra functionality around the
> > field, say a button or a link. Anyway, now the user adds some behavior,
> > say 'new SimpleAttributeModifier("style",
> > "background-color: #d91")'.
> > Now in the described setup only the field will get the new background,
> > while the user probably also wanted to color the whitespace around it.
> > As a user I would find this pretty confusing.
> >
> > In short: there is no way of hiding the fact that the component you are
> > offering to a user is a composite, if you also want the user to have
> > access to the inner components.
> >
> > So my solution would be to either expose the inner field through a
> > getter, or write the addToField method that was discussed earlier.
> >
> > Regards,
> >  Erik.
> >
> >
> >
> > Eelco Hillenius schreef:
> >
> >
> >  I could definitively live with removing final there. And maybe some
> > other methods too.
> >
> > Anyone against removing final from add(IBehavior)?
> >
> > Eelco
> >
> >
> > On 11/9/06, Alberto Bueno <[EMAIL PROTECTED]> wrote:
> >
> >
> >
> >  Hi,
> > now I have this solution, but I don't like it for you reasons:
> >
> > - Now I have two methods to add a Behavior: add(IBehavior) and
> > addToField(IBehavior), and for the users can be confuse.
> > - I want to have a transparent component. The user doesn't have to know
> > that he is working with a panel. This is working with a "field". If I have:
> >
> > MyField extends Panel{
> >  public MyField(MarkupContainer parent, String id){
> >  super(parent, id);
> >
> >  new TextField(this, "myField");
> >  }
> > }
> >
> > For the user, MyField is a form Component, and if he add a new Behavior,
> > the user thinks that the behavior is for the field, not for the panel.
> >
> > This is the idea...
> >
> >
> >
> >
> >
> >  Why don't you write in your panel: void addToField(Behavior b) {...}?
> > There is no need to corrupt the meaning of Wicket methods ;)
> >
> > Regards,
> >  Erik.
> >
> >
> > Alberto Bueno schreef:
> >
> >
> >
> >
> >  Hi,
> >
> > I want to overwrite the add(IBehavior) method of the component, but this
> > method is final.
> > I want to use the same idea of AlternateParent when we add a new component.
> > I have a panel, and I want to add a behavior in the panel, but the
> > behavior is used in a field
> > component that is in the panel.
> >
> > I don't want to say:
> > panel.get("myField").add(new MyBehavior());
> >
> > I want to say:
> >
> > panel.add(new MyBehavior());
> >
> > and in the add() method of the panel say:
> >
> >  public Component add(final IBehavior behavior)
> >  {
> >  get("myField").add(behavior);
> >  }
> >
> > Any idea to implement this functionality?
> >
> > Thanks
> >
> >
> >
> >
> >
> > -------------------------------------------------------------------------
> > Using Tomcat but need to do more? Need to support web services, security?
> > Get stuff done quickly with pre-integrated technology to make your job
> > easier
> > Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> > http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> >
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
> >
> >
>
> -------------------------------------------------------------------------
> Using Tomcat but need to do more? Need to support web services, security?
> Get stuff done quickly with pre-integrated technology to make your job easier
> Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
> http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>

-------------------------------------------------------------------------
Using Tomcat but need to do more? Need to support web services, security?
Get stuff done quickly with pre-integrated technology to make your job easier
Download IBM WebSphere Application Server v.1.0.1 based on Apache Geronimo
http://sel.as-us.falkag.net/sel?cmd=lnk&kid=120709&bid=263057&dat=121642
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user

Reply via email to