Hi,
> Also, you might think about embedded objects. I think today the
implicit
> contract received the qualified property names separated by dots
> e.g. “homeAddress.street”. should that continue as it is or is there a need
> for abstraction?
>
This is already handled well IMO. The naming strategy is handed an
AttributePath, which is a "composite name" object. E.g.
"homeAddress.street" is defined as:
new AttriubutePath().append( "homeAddress" ).append( "street" );
For completeness, there is also a paired AttributeRole for each
AttributePath which has the same "path", but which includes the base:
new AttributeRole( "com.acme."Company" ).append( "homeAddress"
).append(
"street" );
I like this. The dot notation and the required splitting of string is
a very fiddly thing in the current code (and error prone). Switching to
a typed path is definitely a good idea.
--Hardy