References

A reference is a representation object attribute whose value is a pointer to another representation object. A reference is specified using two elements:

  • A path through a set of direct or inverted unary relations starting from a server object type

  • The name of a representation specification. This specification must be associated with the target type of the path.

The following reference attribute ownerTree is defined by the unary relation company and by the representation root specified on the target type Company:

subscribe Department:

represent TreeItemR item:

Ref<TreeR> ownerTree=company->root;

As shown by the CompanyTree and DepartmentTable view types, references allow support for structured representation models. Such models are not necessarily hierarchical. There are no limits to the way a representation model is structured. It can be any kind of graph structure with hierarchical relations and cross-reference relations. The only constraint is that it must be possible to specify the mapping of the server model in the representation model. In particular, specifying reference attributes often requires to declare runtime access to inverted relations.