Composite type properties

The following table lists the properties that support composite types.
Table 1. Properties that support composite types
Subject and metaclass Property Description
CG subject
Attribute/Type Implementation The Implementation property enables you to specify how IBM® Rational® Rhapsody® generates code for a given element (for example, as a simple array, collection, or list). (Default = Default)

When this property is set to Default and the multiplicity is bounded (not *) and the type of the attribute is not a class, code is generated without using the container properties (as in previous versions of the product).

Rational Rhapsody generates a single accessor and mutator for an attribute, as opposed to relations, which can have several accessors and mutators. In smart generation mode, a setter is not generated when the attribute is Constant and either:

  • The attribute is not a Reference.
  • or The multiplicity of the attribute is 1.
  • or The CG::Attribute::
    Implementation property
    is set to EmbeddedScalar or EmbeddedFixed.
<ContainerType> subject
<ImplementationType> Various properties Contain the keywords $constant and $reference to support the Constant and Reference modifiers
<ImplementationType> FullTypeDefinition Specifies the typedef implementation template
<lang>_CG subject
Attribute MutatorGenerate Specifies whether mutators are generated for attributes
Attribute/Type ReferenceImplementationPattern Specifies how the Reference option is mapped to code
Class/Type In Specifies how code is generated when the type is used with an argument that has the modifier In
  InOut Specifies how code is generated when the type is used with an argument that has the modifier InOut
  Out Specifies how code is generated when the type is used with an argument that has the modifier Out
  ReturnType Specifies how code is generated when the type is used as a return type
  TriggerArgument Is used for mapping event and triggered operation arguments to code instead of the In, InOut, and Out properties
Type EnumerationAsTypedef Specifies whether the generated enum must be wrapped by a typedef.

This property is applicable to enumeration types in C and C++.

  StructAsTypedef Specifies whether the generated enum must be wrapped by a typedef.

This property is applicable to structure types in C and C++.

  UnionAsTypedef Specifies whether the generated union must be wrapped by a typedef.

This property is applicable to union types in C and C++.


Feedback