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