【问题标题】:How to define Java transient attributes in Enterprise Architect?如何在 Enterprise Architect 中定义 Java 瞬态属性?
【发布时间】:2011-12-07 20:09:12
【问题描述】:
背景:我正在使用 Sparx Enterprise Architect 8.0。当我将域类的成员标记为transient 时,生成的代码使用volatile 关键字而不是transient。根据Enterprise Architect Java conventions,这是正确的。
如何使用 EA 定义 transient 属性并让生成的代码为它们使用 Java transient 关键字?
【问题讨论】:
标签:
java
transient
enterprise-architect
【解决方案1】:
在属性(不是类)上定义一个标记值,命名为transient,值为true。
这在 9.1 中有效;不幸的是,我没有 8.0 安装来尝试这个。您可以通过查看相关的生成模板自行检查:选择 Settings - Code Generation Templates,然后在语言下拉列表(左上角)中选择 Java。在 Templates 列表中,找到名为“Attribute Declaration”的那个。
如果有一行以%attTag:"transient" 开头,上面的应该可以工作。如果没有,如果你知道怎么做,你可以自己添加(代码生成模板不是一个很好的实验领域),但我不想在这里发布 Sparx 版权的材料。
遗憾的是,在属性上使用标记值意味着您无法在图表或项目浏览器中看到此属性。这只是生活中的事实,但可能值得麻烦 Sparx 以某种方式显示属性标签。