On Dec 31, 2009, at 10:04 AM, Andrus Adamchik wrote:
On Dec 31, 2009, at 7:13 AM, Aristedes Maniatis wrote:
How does Key relate to Attribute and Relationship? Is it an
interface that both implement?
Unrelated at all, except for the matching name. I thought of using
Attributes/Relationships for this purpose, but it is not possible to
parameterize them as they are abstract metadata. Their "compiled"
counterparts (Property/ArcProperty) could've potentially been used
as "keys", but those can't be statically bound to Persistent objects
in compile time, as they are generated in runtime.
Also I guess Key is a "path", so logically it is not a single
attribute or relationship, but potentially a chain of those. The
closest thing in Cayenne 3.0 is a "path" Expression. So maybe rename
it from Key to Path and subclass from Expression (??). Anyways, that's
some details to figure out once we are comfortable with the general
direction...
Andrus