It is the model for every child that doesn't have a model so yes it inherits its.
But that is just the name. And i can't really discuss that what the real meaning is of comound and if it is the 'good' word for that or not.
So i don't know what you mean with "generalized" because you just say it should be renamed? But from the perspective of the component
you set it the model on i find a IAutomaticallyInheritedModel very strange. If it is inherited why do i need to set a inherited model on something?
ICompoundModel could have a getRootObject() that would be the samething as getObject(null)
But remember that getObject(null) is not really only for Compounds it is also for the normal PropertyModels.
They also should just return the complete object.
A normal none property model also just returns the complete object on null (the difference that it just completely don't look what the component is)
It is just a contract..
johan
On 5/10/06, Ittay Dror <[EMAIL PROTECTED]> wrote:
i think the compound concept needs to be generalized.
the ICompoundModel is really IAutomaticallyInheritedModel. whether it is compound (a model simulating holding other models) is not important i think.
Matej Knopp wrote:
> On the other side, you still have component parameter in
> IModel#getModelObject, which makes only sense when the model is
> compound, so maybe getRootObject() in ICompoundModel wouldn't improve
> things anyway.
>
> -Matej
>
> Matej Knopp wrote:
>> Hmm. maybe having getRootObjecT() in ICompoundModel would make things
>> little easier to understand, wonder what core developers would think.
>>
>> anyway, the model can't decide, whether to return null or not. it
>> depends on the component. but the component would know whether to call
>> getObject(this) or getRootObject(), according to FLAG_HAS_ROOT_MODEL.
>>
>> -Matej
>>
>> Ittay Dror wrote:
>>> then i think this should be more explicit. e.g., add to
>>> ICompoundModel a getRootObject(), and i think that if that returns
>>> null, then return getObject(this)
>>>
>>> Matej Knopp wrote:
>>>> Ittay Dror wrote:
>>>>> public final Object getModelObject()
>>>>> {
>>>>> final IModel model = getModel();
>>>>> if (model != null)
>>>>> {
>>>>> // If this component has the root model for a compound
>>>>> model
>>>>> if (getFlag(FLAG_HAS_ROOT_MODEL))
>>>>> {
>>>>> // we need to return the root model and not a
>>>>> property of the
>>>>> // model
>>>>> return getRootModel(model).getObject(null);
>>>>> }
>>>>>
>>>>> // Get model value for this component
>>>>> return model.getObject(this);
>>>>> }
>>>>> else
>>>>> {
>>>>> return null;
>>>>> }
>>>>> }
>>>>>
>>>>>
>>>>>
>>>>> note the statement: getRootModel(model).getObject(null);
>>>>>
>>>>> why use null?
>>>>
>>>> I believe it's because of compound models. e.g. when you have
>>>> compound property model, getObject(Component) returns you the
>>>> property of the model object which name is sme as component id.
>>>> getObject(null) returns you the whole model object.
>>>>
>>>> If you have a form for instance and set it a compoundpropertymodel,
>>>> the modelObject of the form is the object you put to the model.
>>>>
>>>> but the model objects of components placed into the form are
>>>> actually properties of the object you set to the model. (as the
>>>> components will inherit the model from the form)
>>>>
>>>> -Matej
>>>>
>>>>
>>>> -------------------------------------------------------
>>>> 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
>
--
===================================
Ittay Dror
Chief architect, openQRM TL,
R&D, Qlusters Inc.
[EMAIL PROTECTED]
+972-3-6081994 Fax: +972-3-6081841
http://www.openQRM.org
- Keeps your Data-Center Up and Running
-------------------------------------------------------
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