Can a Panel's id be re-assigned after construction?
Hi, a quick question. Is it possible to assign a new id to a Panel after it has been constructed? Something similar to: public Panel createPanel() { return new MyPanel(dummyID, ...); } ... ... Panel myPanel = createPanel(); myPanel.setId(newID); I would like to have a component that acts as a Panel factory (the createPanel method above), without requiring the factory to now about the markup context of the calling code. Hence, the factory method would create it with a dummy id that is replaced by the consumer to adapt it to its markup context. Is something along these lines possible in Wicket? Or is there perhaps another (wicket way) for achieving tasks like these. regards, Peter -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739309.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]
Re: Can a Panel's id be re-assigned after construction?
pass the id into the createPanel method -igor On Mon, Jun 9, 2008 at 11:51 AM, Peter Gardfjell [EMAIL PROTECTED] wrote: Hi, a quick question. Is it possible to assign a new id to a Panel after it has been constructed? Something similar to: public Panel createPanel() { return new MyPanel(dummyID, ...); } ... ... Panel myPanel = createPanel(); myPanel.setId(newID); I would like to have a component that acts as a Panel factory (the createPanel method above), without requiring the factory to now about the markup context of the calling code. Hence, the factory method would create it with a dummy id that is replaced by the consumer to adapt it to its markup context. Is something along these lines possible in Wicket? Or is there perhaps another (wicket way) for achieving tasks like these. regards, Peter -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739309.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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Can a Panel's id be re-assigned after construction?
Of course. In the toy example I attached, the obvious solution is to add an id parameter. However, in some cases, for instance when the factory methods contain longer parameter lists, the extra identifier parameter tends to clutter the API. I really like the encapsulation that Panels offer, but it kind of bugs me that they always need to be created in the context of the consumer's markup (that is, knowing the markup identifier at the consuming end). Maybe I just haven't fully understood the Wicket paradigm yet... Still, you did not really answer my original question (although you may have done so, implicitly... :-). Just to make things absolutely clear: can a Panel only be assigned an identifier at the time its constructor is called? /Peter igor.vaynberg wrote: pass the id into the createPanel method -igor On Mon, Jun 9, 2008 at 11:51 AM, Peter Gardfjell [EMAIL PROTECTED] wrote: Hi, a quick question. Is it possible to assign a new id to a Panel after it has been constructed? Something similar to: public Panel createPanel() { return new MyPanel(dummyID, ...); } ... ... Panel myPanel = createPanel(); myPanel.setId(newID); I would like to have a component that acts as a Panel factory (the createPanel method above), without requiring the factory to now about the markup context of the calling code. Hence, the factory method would create it with a dummy id that is replaced by the consumer to adapt it to its markup context. Is something along these lines possible in Wicket? Or is there perhaps another (wicket way) for achieving tasks like these. regards, Peter -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739309.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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739811.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]
Re: Can a Panel's id be re-assigned after construction?
On Mon, Jun 9, 2008 at 9:21 PM, Peter Gardfjell [EMAIL PROTECTED] wrote: Just to make things absolutely clear: can a Panel only be assigned an identifier at the time its constructor is called? Yes. Martijn -- Become a Wicket expert, learn from the best: http://wicketinaction.com Apache Wicket 1.3.3 is released Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3.3 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Can a Panel's id be re-assigned after construction?
it is possible. you can write a component that is only allowed to have one child with any id using an IComponentResolver. is that a good practice? if i were implementing your factory interface i would be confused as to what id i should use since the panel takes it as a constructor arg...so which way is better is up to you. -igor On Mon, Jun 9, 2008 at 12:21 PM, Peter Gardfjell [EMAIL PROTECTED] wrote: Of course. In the toy example I attached, the obvious solution is to add an id parameter. However, in some cases, for instance when the factory methods contain longer parameter lists, the extra identifier parameter tends to clutter the API. I really like the encapsulation that Panels offer, but it kind of bugs me that they always need to be created in the context of the consumer's markup (that is, knowing the markup identifier at the consuming end). Maybe I just haven't fully understood the Wicket paradigm yet... Still, you did not really answer my original question (although you may have done so, implicitly... :-). Just to make things absolutely clear: can a Panel only be assigned an identifier at the time its constructor is called? /Peter igor.vaynberg wrote: pass the id into the createPanel method -igor On Mon, Jun 9, 2008 at 11:51 AM, Peter Gardfjell [EMAIL PROTECTED] wrote: Hi, a quick question. Is it possible to assign a new id to a Panel after it has been constructed? Something similar to: public Panel createPanel() { return new MyPanel(dummyID, ...); } ... ... Panel myPanel = createPanel(); myPanel.setId(newID); I would like to have a component that acts as a Panel factory (the createPanel method above), without requiring the factory to now about the markup context of the calling code. Hence, the factory method would create it with a dummy id that is replaced by the consumer to adapt it to its markup context. Is something along these lines possible in Wicket? Or is there perhaps another (wicket way) for achieving tasks like these. regards, Peter -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739309.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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- View this message in context: http://www.nabble.com/Can-a-Panel%27s-id-be-re-assigned-after-construction--tp17739309p17739811.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] - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]