我正在为 IBM Rational Rhapsody 中指定的接口创建代码。Rhapsody 为我的接口中使用的其他数据类型隐式生成包含语句。但我希望对包含语句有更多的控制权,因此我将它们明确指定为组件源工件中的文本元素。因此,我想阻止 Rhapsody 本身生成包含语句。这可能吗?
问问题
266 次
2 回答
0
如果可以做到这一点,则很可能是使用属性。在功能框中单击属性并按“包含”过滤以查看一些可能的候选者。并非所有的属性都有描述他们究竟做了什么,所以祝你好运。
编辑:
我花了一些时间浏览这些属性,也找不到任何你想要的东西。您似乎无法使用 Rhapsody 的基本版本执行此操作。IBM 确实许可了一个附加组件来自定义代码生成,称为 Rules Composer(我认为);这几乎可以肯定允许您自定义包含,但成本很高。
还有另外两种可能的方法。根据您自定义包含语句的方式,您可以编写一个简单的 shell 脚本,可能使用sed,然后在每次 Rhapsody 生成代码时运行该脚本来更新您的代码。
另一种方法是使用 Rhapsody API 创建一个插件/工具,该插件/工具迭代所有接口并相应地更改源工件。我自己没有尝试过这种方法,但我知道我的同事已经使用 API 来做类似的事情。
于 2016-07-01T17:35:04.390 回答
0
最后,我找到了让 Rhapsody 产生所需输出的属性:GenerateImplicitDependencies
用于多个元素和GenerateDeclarationDependency
用于 Type 元素。禁用这些将避免生成隐式包含语句。
于 2016-07-05T15:03:49.963 回答