模型至文本变换样本详细信息

此样本包含下列三个变换:

变换 描述
类至文本 > 控制台 此变换接受统一建模语言(UML)类作为源,并将类的描述写至包括类的名称、属性和操作及其参数的“控制台”视图。
类至文本 > 文件 此变换与“类至文本控制台”变换相同,但此变换会将结果写至文件而不是“控制台”视图。
状态至 JSP 此变换接受状态机作为源,并为具有 ScreenFlow 概要文件中某个构造型的每个状态生成一个 JavaServer Pages(JSP)页。
要了解如何构造变换,应运行这些变换并研究源代码。阅读源代码时,应遵循下列准则:
  • 先查看用于实现规则的 Java™ 类。这些类出现在名称以 .rules 结尾的包中。
  • 已将一组规则合并到一个或多个变换中。这些变换由名称以变换结束的包中的 Java 类实现。您可能需要先阅读变换类的代码,然后阅读根变换的代码。
  • 最后,查看插件清单文件 plugin.xml 以及 TransformationProvider 类的代码,以了解变换如何连接至“变换服务”。
父主题: 模型至文本变换样本

类至文本变换

此变换接受 UML 类、包或模型作为源,并将类的名称、属性和操作以及操作参数写至“控制台”视图或文件。如果选择将模型或包作为源,则变换会写入模型或包所包含的所有类的详细信息。

变换有两种方式:
  1. 类至文本 > 控制台:此变换将输出写至“控制台”视图并且不需要目标。 此样本变换显示如何执行下列操作:
    • 创建简单规则并将它们合并到一个或多个变换中
    • 创建变换提供者
    • 在插件清单文件 plugin.xml 中描述变换及其提供者
  2. 类至文本 > 文件:此变换将输出写至文件并需要项目作为它的目标。在缺省情况下,它将所指定项目中的 ClassToTextOutput 文件夹内创建文件 class2text.txt。可使用变换属性“目标文件名称”来更改文件的缺省名称。 此样本变换显示如何执行下列附加操作:
    • 在插件清单文件 plugin.xml 中描述变换属性
    • 处理规则中的变换属性

状态至 JSP 变换

此变换接受状态机中的 UML 状态作为源,并使用 Java 发射器模板(JET)生成 JSP 文件格式的 Web 页面。如果选择状态机或区域作为源,则对于状态机或区域中每个应用了 ScreenFlow 概要文件中的构造型的状态,变换将为其生成 JSP 文件。

此样本变换显示如何执行下列操作:

  • 使用构造型和关键字有选择性地触发规则
  • 将 JET 功能和变换合并以生成文本

要让源状态机为变换作好准备,必须对包含状态机的 UML 模型应用 ScreenFlow 概要文件,并通过对其状态应用 ScreenFlow 概要文件中的构造型来标记状态机。ScreenFlow 概要文件包含四个构造型:form、editform、selectlist 和 display。这些构造型可确定所生成页的动态内容的显示样式。该样本使用构造型来确定显示样式是可编辑表单还是可选择列表等等。如果对一个状态应用多个构造型,则变换只考虑第一个构造型。

该样本还会使用构造型的属性来确定通过 JSP 页交换的数据。仅当对状态应用了四个构造型的其中一个时,变换才会生成对应于状态的 JSP 页。如果 JSP 文件已存在,则变换在运行时不会将它们覆盖。可通过将变换属性“覆盖输出文件”的值设置为 true 来更改有关变换是否覆盖文件的设置。

ScreenFlow 概要文件

下表显示 ScreenFlow 概要文件中的构造型及其属性。表中的值仅供演示之用。

构造型 基类 属性:值 描述
«display» 状态 entity:Contact fields:name, address 指示所生成 JSP 页显示联系人详细信息:姓名和地址
«editform» 状态 entity:Contact fields:name, address 指示所生成 JSP 页包含可编辑表单,用户可在其中输入或编辑联系人详细信息:姓名和地址
«form» 状态 fields:userName 指示所生成 JSP 页包含用于输入用户姓名的表单
«selectlist» 状态 entity:Contact fields:name, address selectfield:id 指示所生成 JSP 页包含联系人列表,可用于选择带有特定标识的联系人

反馈