gah!
wrap() is final. but getmodel() calls initmodel() which is not! we are just
heading for a lot of trouble if we allow this! we are dealing with
unconstructed objects here, we should be as strict as possible.
and who is to say wrap() will stay final, that looks like a pretty handy
method to have nonfinal if you want to post/preprocess the model in some
way.
-igor
On 6/18/07, Eelco Hillenius <[EMAIL PROTECTED]> wrote:
I think we could move the wrap up:
setId(id);
this.model = wrap(model);
getApplication().notifyComponentInstantiationListeners(this);
I can't really think of anything that would go wrong because of that
(wrap is final), and it doesn't result in test failures or does it
cause anything to go wrong with the app I'm working on. So I committed
this change.
Hope that helps you.
Eelco
On 6/18/07, Alberto Bueno <[EMAIL PROTECTED]> wrote:
> I know IComponentOnBeforeRenderListener, but I cannot use this
> interface, because I need to condition
> the instantiation of the children of my component, depending of the
> functionality of the Listener.
> And if I use IComponentOnBeforeRenderListener, the instantiation has
> been finished when the interface
> is called.
> The best moment to use this functionality is in the
> IComponentInstantiationListener... because any children
> have been still instantiated.
>
> > There is now - since a few weeks - also
> > org.apache.wicket.application.IComponentOnBeforeRenderListener, which
> > may suit your needs better.
> >
> > We (Teachscape) use it like:
> >
> > public final class ValidationListener implements
> > IComponentOnBeforeRenderListener {
> >
> > public void onBeforeRender(Component component) {
> > if (component instanceof FormComponent &&
!component.hasBeenRendered()) {
> > // add validators
> > processComponent((FormComponent) component);
> > }
> > }
> >
> > and in our application's init method:
> >
> > addComponentOnBeforeRenderListener(new ValidationListener());
> >
> >
> > Eelco
> >
> > On 6/18/07, Alberto Bueno <[EMAIL PROTECTED]> wrote:
> >
> >> Hi,
> >>
> >> I'm using IComponentInstantiationListener to add additional
> >> functionality to my components. But in this listener I need to know
the
> >> model of the component to condition this functionality.
> >> If we inspect the code, we can see that the listeners are called
before
> >> assigning the model to the component:
> >>
> >> public Component(final String id, final IModel model)
> >> {
> >> setId(id);
> >> getApplication().notifyComponentInstantiationListeners(this);
> >> this.model = wrap(model);
> >>
> >> final IDebugSettings debugSettings =
> >> Application.get().getDebugSettings();
> >> if (debugSettings.getComponentUseCheck())
> >> {
> >> setMetaData(CONSTRUCTED_AT_KEY, Strings.toString(this,
new
> >> MarkupException(
> >> "constructed")));
> >> }
> >> }
> >>
> >> Are there any reason to do the notification in that moment?
> >>
> >> Thanks
> >>
> >>
> >>
> >>
-------------------------------------------------------------------------
> >> This SF.net email is sponsored by DB2 Express
> >> Download DB2 Express C - the FREE version of DB2 express and take
> >> control of your XML. No limits. Just data. Click to get it now.
> >> http://sourceforge.net/powerbar/db2/
> >> _______________________________________________
> >> Wicket-user mailing list
> >> Wicket-user@lists.sourceforge.net
> >> https://lists.sourceforge.net/lists/listinfo/wicket-user
> >>
> >>
> >
> >
-------------------------------------------------------------------------
> > This SF.net email is sponsored by DB2 Express
> > Download DB2 Express C - the FREE version of DB2 express and take
> > control of your XML. No limits. Just data. Click to get it now.
> > http://sourceforge.net/powerbar/db2/
> > _______________________________________________
> > Wicket-user mailing list
> > Wicket-user@lists.sourceforge.net
> > https://lists.sourceforge.net/lists/listinfo/wicket-user
> >
>
>
>
>
-------------------------------------------------------------------------
> This SF.net email is sponsored by DB2 Express
> Download DB2 Express C - the FREE version of DB2 express and take
> control of your XML. No limits. Just data. Click to get it now.
> http://sourceforge.net/powerbar/db2/
> _______________________________________________
> Wicket-user mailing list
> Wicket-user@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/wicket-user
>
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user
-------------------------------------------------------------------------
This SF.net email is sponsored by DB2 Express
Download DB2 Express C - the FREE version of DB2 express and take
control of your XML. No limits. Just data. Click to get it now.
http://sourceforge.net/powerbar/db2/
_______________________________________________
Wicket-user mailing list
Wicket-user@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/wicket-user