1

我有一个用 Topcased 5.2 制作的 uml 图。uml 包含类图和活动图。我编写了一个模板,它接受作为参数 Class 类型以生成 java 类。

生成了 java 类,但另外我的方法为 Activity 节点执行。如何防止执行 Activity 节点?

按照我的模板:

[template public generateEntity(c : Class)]
[comment @main /]
[file (c.getEntityFullPathFile().trim(), false)]
[c.generateEntity()/]
[/file]
[/template]

谢谢你的帮助

4

1 回答 1

0

请查看 UML 元模型(文件 > 导入 > 选择“插件和片段”,单击“下一步”然后搜索“org.eclipse.uml2.uml”,选择它并“完成”向导)。在那里,您将看到一个Activity是一个Activity继承自Behavior继承自Class)。这就是Acceleo“看到”的全部。

如果您希望为所有类生成代码,除了活动,您可以使用警卫:

[template public generateEntity(c : Class) ? (not c.oclIsKindOf(Activity))]
...
于 2012-11-19T08:03:40.750 回答