Jeremy, I can't add another example to mentioned RepeatingView. Concerning RepeatingView... Wicket allow me just one point to subclass parent component markup within <wicket:child/> tag. RepeatingView comes in handy. It allows me to reserve some places in base component markup and put something there in subclasssing component markup. I saw examples of that in some projects when studying Wicket. So I just copy the idea without thinking about WHEN to call the overridden method that fills in the RepeatingView instance. It is my fault :)
If you add "name" attribute to wicket:child tag, and multiple <wicket:extend name="..."> tags I would use it instead of RepeatingView. Concerning your post on onBeforeRender ... I didn't say that it is related to class' constructor. Yes it is related to delayed component creation. And the reason why I delay creation is to follow mentioned rule. It is not related to use of models in my case. I delay creation to allow subclassing components to replace some default parts of base component. Probably I'm doing something wrong. Then suggest me how to do it right. For instance I would like to subclass NatigationToolbar in DefaultDataTable. What should I do? Jeremy Thomerson-5 wrote: > > Do you have any examples of where Wicket calls an overridable method > from the constructor of a Wicket class? If so, please file it as a > JIRA - that would be a bug. > > Most java programmers know not to call overridable methods from the > constructor as a general rule, although there are times when it could > inadvertantly happen - which is why we need bug reports if you see > that happening. > > -- > Jeremy Thomerson > http://www.wickettraining.com > > > > > On Fri, May 15, 2009 at 12:01 AM, Vladimir K <koval...@gmail.com> wrote: >> >> Martijn, >> >> here Java is not safe as a language. Yo're able to invoke overrided >> methods >> on non-completely constructed objects. >> >> from my perspective it is a regular case in Wicket: >> >> class SampleComponent extends ... { >> String parameter; >> >> SampleComponent(String id, String parameter) { >> super(id); >> this.parameter = parameter; >> } >> >> // method is called from within superconstructor >> �...@override >> void createAdditionalComponents(RepeatingView rv) { >> useSomehow(parameter); >> } >> } >> >> I know two approaches to work around: >> - onBeforeRender >> - a closure as a constructor formal parameter. >> >> But the latter does not help with built-in components. >> >> If Wicket does not help us with adding appropriate method for >> second-step-initialization it should document it in wiki, javadoc and >> books >> "dear user, when overriding methods, beware using of yet unassigned >> constructor parameters". Hmm ... sounds stupid :) >> >> >> Martijn Dashorst wrote: >>> >>> This has been discussed till death previously and we have excluded it >>> from our roadmap. We will never have an init() method for components. >>> Gossling gave us a Constructor to initialize your Objects. >>> >>> Search and read the archives if you want more information on the >>> subject. >>> >>> Martijn >>> >>> On Fri, May 15, 2009 at 12:36 AM, Juan G. Arias <juangar...@gmail.com> >>> wrote: >>>> It would be very nice to add a new phase for component creation, like I >>>> said, an init() or createContent(). >>>> Is there a JIRA issue for that? >>>> If yes, I will vote for it and suggest to change the name to something >>>> _not_ >>>> related to the rendre phase. >>>> >>>> Thanks! >>>> Juan >>>> >>>> >>>> On Thu, May 14, 2009 at 3:31 PM, Daniel Stoch >>>> <daniel.st...@gmail.com>wrote: >>>> >>>>> I think you can use hasBeenRendered() method instead of custom boolean >>>>> flag. >>>>> >>>>> -- >>>>> Daniel >>>>> >>>>> On 2009-05-14, at 20:15, Jeremy Thomerson wrote: >>>>> >>>>> You could probably do it in onBeforeRender - but you would need to >>>>>> keep a boolean flag to check if it's the first render so that you >>>>>> don't recreate them on a second render.... There was talking of >>>>>> adding an onBeforeFirstRender method, but I don't think it's happened >>>>>> yet - you could look for the method to see if I'm wrong. >>>>>> >>>>>> -- >>>>>> Jeremy Thomerson >>>>>> http://www.wickettraining.com >>>>>> >>>>> >>>>> >>>>> --------------------------------------------------------------------- >>>>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>>>> For additional commands, e-mail: users-h...@wicket.apache.org >>>>> >>>>> >>>> >>> >>> >>> >>> -- >>> Become a Wicket expert, learn from the best: http://wicketinaction.com >>> Apache Wicket 1.3.5 is released >>> Get it now: http://www.apache.org/dyn/closer.cgi/wicket/1.3. >>> >>> --------------------------------------------------------------------- >>> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >>> For additional commands, e-mail: users-h...@wicket.apache.org >>> >>> >>> >> >> -- >> View this message in context: >> http://www.nabble.com/Component-creation-and-initialization-tp23545666p23553458.html >> Sent from the Wicket - User mailing list archive at Nabble.com. >> >> >> --------------------------------------------------------------------- >> To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org >> For additional commands, e-mail: users-h...@wicket.apache.org >> >> > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org > For additional commands, e-mail: users-h...@wicket.apache.org > > > -- View this message in context: http://www.nabble.com/Component-creation-and-initialization-tp23545666p23553847.html Sent from the Wicket - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@wicket.apache.org For additional commands, e-mail: users-h...@wicket.apache.org