In menssana, I wanted to be able to describe a property by only specifying its 'key' from the 'privateState' dictionary, without caring if some setters and getters exist.
Hi Cyrille,
I see that you added the mmGetProperty: / mmSetProperty:to methods back in MooseEntity. They are not correct because they depend on the internals of the PropertyDescription, and they change the semantics of the method defined in Object:
mmGetProperty: aFM3PropertyDescription
(self class canUnderstand: aFM3PropertyDescription implementingSelector)
ifTrue: [ ^ self perform: aFM3PropertyDescription implementingSelector ]
ifFalse: [ ^ self propertyNamed: aFM3PropertyDescription name ].
mmSetProperty: aFM3PropertyDescription to: value
(self class canUnderstand: aFM3PropertyDescription implementingSelector asMutator)
ifTrue: [ self perform: aFM3PropertyDescription implementingSelector asMutator with: value ]
ifFalse: [self propertyNamed: aFM3PropertyDescription name put: value].
This breaks Metanool and it is not nice. The comment of your commit says that you are using it in Menssana. I am sure we can find another solution. So, could you describe the scenario you are using it in?
Cheers,
Doru
--
www.tudorgirba.com
"Beauty is where we see it."
_______________________________________________
Moose-dev mailing list
Moose-dev@iam.unibe.ch
https://www.iam.unibe.ch/mailman/listinfo/moose-dev