背景:我正在使用Sparx Enterprise Architect 8.0。当我将域类的成员标记为transient
时,生成的代码会使用volatile
关键字而不是transient
。根据{{3}},这是正确的。
如何使用EA定义 transient 属性并让生成的代码为它们使用Java transient
关键字?
答案 0 :(得分:2)
在属性(而不是类)上定义标记值,名为transient
,其值为true
。
这适用于9.1;不幸的是我没有8.0安装试试这个。您可以通过查看相关的生成模板来自行检查:选择设置 - 代码生成模板,然后在语言下拉列表中选择Java(左上角)。在“模板”列表中,找到名为“属性声明”的文件。
如果有一行以%attTag:"transient"
开头,则上述内容应该有效。如果没有,你可以自己添加它(如果你知道代码生成模板不是一个很好的实验区域),但我不想在这里发布Sparx版权资料。
遗憾的是,在属性上使用标记值意味着您无法在图表或项目浏览器中看到此属性。这只是生活中的一个事实,但是让Sparx麻烦地设置某种显示属性标签的方式可能是值得的。