On Jun 1, 2009, at 12:06 PM, Aristedes Maniatis wrote:

there already is a CayenneMapEntry interface

The one I'd love to get rid of :-) We discussed that some time ago. It was poor design back in the day, that now has life of its own.

Also I am not sure we need a special Info object. A simple Map<String, String> attached to a MappingObject should be enough from what I see.

That's possible, but I'm thinking there might be some additional logic which could belong here. For instance, if we reserve some keys "javadoc", "annotation" to have special application then we can control their use here. And there may also be another attribute in the future to prevent some Info objects being passed from server to client in ROP.

Also, currently there is no typing (all values are String). But there is the future possibility of creating typed values which give the user greater validation when entering data in the Modeler.

"Info" name is a bit confusing, at least to a Java programmer (I know it was used in EOF). Everywhere else in Cayenne a similar unstructured String data attached to an object is called "property". I suggest we stick with this naming convention.

Fair enough. How about MapEntryProperty?

I am still not convinced that we need anything but a String. Remember in EOF this was called "userInfo", with "user" being the keyword. This is for people to extend Cayenne in previously unsupported ways. If *we* decide we need a new property for Entity or Attribute class, we just add it in a normal Java way. What's the point of a generic Info object then?

Andrus


Reply via email to