In order to solve "model" issues much easier and much more flexibly, I propose to use the work that Leo did a while back with the Attributes embedded in the class file itself. It is a much more flexible way of doing things which will not require future modifications to the meta model to take care of enhancements.
In order to make this change, we need to create an ANT task that will make the translation from the currently declared attributes to the form that Leo's library will accept. On the client side, we would have preserved the existing contracts so people don't have to rush around altering their code immediately. Behind the scenes (and within Merlin/Composition) the system would be refactored to use the Attribute objects instead of the current hard coded meta model.
Framework would then be extended to include the "official" Attributes that would be used in components, which will also allow us to use normal OO techniques to maintain backwards compatibility as we may need to add new features later on.
From a container perspective, we can look at matching these attributes to the plugins that need them--or trust the developer to put things together correctly. Anyway, this is a refactoring I think can be made without sacrificing current abilities, while simultaneously heading off some of the API scalability issues that exhibit themselves from time to time.
Essentially the whole "meta-model" system would become merely a tool for backwards user compatibility, with the future based on Leo's less strict model.
This will help the effort to bring in new features and improve Merlin as a
whole.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
