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]

Reply via email to