On 01/06/2009, at 4:57 PM, Andrus Adamchik wrote:
I am ok with a common superclass of mapping objects. I don't like the CayenneMapItem name though. We have no current notion of "CayenneMap", so "CayenneMapItem" is confusing (not that I am happy with the name DataMap, heh :-)). Maybe something like MappingObject, which feels more generic along the lines of "Object Relational Mapping"?
Well, there already is a CayenneMapEntry interface. So we thought that it should look a bit like that. Really, it doesn't matter though, as long as it is obvious. CayenneMapObject? Or just MapEntry or MapItem? There is inconsistency here, but I don't know how to resolve it without renaming existing interfaces and classes which we don't want to do.
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.
The current Info object has a notion of a parent. Could you elaborate why is it a tree structure?
That might be poor naming. parent is actually the CayenneMapItem that the Info is attached to. We'll rename it.
"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? Ari Maniatis --------------------------> ish http://www.ish.com.au Level 1, 30 Wilson Street Newtown 2042 Australia phone +61 2 9550 5001 fax +61 2 9550 4001 GPG fingerprint CBFB 84B4 738D 4E87 5E5C 5EFA EF6A 7D2E 3E49 102A
