References within Tigerstripe models
References within Tigerstripe models are defined in a specific fashion to facilitate and simplify implementation.
References are explicitly realized through Artifact Attributes: to model a reference, an attribute of Type B is to be defined in Type A. The multiplicity of that attribute will condition the reference.
Not all references, across any type of Artifacts are allowed in Tigerstripe, so they can be implemented:
- the "A end" of a reference can be of any of the following artifact types: Entity, Datatype, Notification, Query, Update Procedure.
- the "Z end" of a reference can only be of type Entity or Datatype.
In case the "Z end" of a reference is an Entity Artifact Type, it can be further specified with the following modifiers:
- Refby Value: defining containment, ie. in the generated implementation the full copy of the target instance will be copied. For example, in the XML profile an XML element will be contained, and will include all non-optional values of that Entity Type.
- Refby Key: simple reference, ie. in the generated implementation only a reference (explicitly using the key of the target entity instance) will be copied. For example, in the XML profile, the XML element corresponding to the key of the target instance is used only.
- Refby KeyResult: a simple reference as above, augmented with additional fields to carry success/failure information. This is usually used in conjunction with a method result.
These modified are accessible on every attribute definition, on the return type of methods and on the type of method arguments.
For information on inheritance within Tigerstripe models, please refer to this section.
© copyright 2005, 2006, 2007 Cisco Systems, Inc. - All rights reserved