包输入/输出对象包含名为 packagedElement 的特性。此特性是包含不同类型的有效 UML 对象的集合。在本课程中创建的映射规则定义变换如何处理类型为包或类的集合元素。
第 3 课:创建和优化类到类映射声明说明了对于映射声明中每个移动映射规则,会把一个将属性值从源模型复制到目标模型的规则添加至生成的变换源代码。对于每个子映射映射规则,将在变换源代码中生成抽取指定集合中的元素的抽取器。如果当前输入对象是在映射声明中定义的输入类型的实例,那么会将子映射规则应用于对象。
运行生成的变换时,如果源模型包含包,那么将调用 Package2PackageTransform 变换并在目标模型中创建名称与源模型中包的名称相同的包。Package2PackageTransform 变换在 packagedElement 特性的集合中来回移动。对于类型为包(意味着源模型包含嵌套包)的每个集合元素,变换将调用 Package2PackageTransform 变换。对于类型为类的每个集合元素,变换调用规则以将类变换为目标输出模型中相应的类和接口。
要在映射模型中创建“包到包”映射声明,请完成下列步骤:
在创建映射声明之后,必须向其添加输入对象和输出对象。在本课程中,将指定一个 UML 包作为输入/输出对象。
要将输入对象和输出对象添加至“包到包”映射声明,请完成下列步骤:
要创建包输入/输出对象的属性之间的映射规则,请完成下列步骤: