如何在Enterprise Architect中定义Java瞬态属性?

发布于 2024-12-10 01:54:52 字数 367 浏览 0 评论 0原文

背景:我正在使用 Sparx Enterprise Architect 8.0。当我将域类的成员标记为 transient 时,生成的代码使用 volatile 关键字而不是 transient。根据企业架构师 Java 约定,这是正确的。

如何使用 EA 定义瞬态属性并让生成的代码使用 Java transient 关键字?

Background: I'm using Sparx Enterprise Architect 8.0. When I mark a member of a domain class as transient, the resulting generated code uses the volatile keyword instead of transient. This is correct according to Enterprise Architect Java conventions.

How can I define transient attributes using EA and have the generated code to use the Java transient keyword for them?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

孤芳又自赏 2024-12-17 01:54:53

在属性(而不是类)上定义一个标记值,名为 transient,值为 true

这在 9.1 中有效;不幸的是我没有 8.0 安装来尝试这个。您可以通过查看相关的生成模板来自行检查:选择“设置”-“代码生成模板”,然后在语言下拉列表中选择“Java”(左上角)。在模板列表中,找到名为“属性声明”的模板。

如果有一行以 %attTag:"transient" 开头,则上述内容应该有效。如果没有,如果您知道如何添加,您可以自己添加它(代码生成模板不是一个好的实验领域),但我不想在这里发布受 Sparx 版权保护的材料。

遗憾的是,在属性上使用标记值意味着您无法在图表或项目浏览器中看到此属性。这只是生活中的一个事实,但也许值得麻烦 Sparx 以某种方式显示属性标签。

Define a tagged value on the attribute (not the class), named transient with value true.

This works in 9.1; unfortunately I don't have an 8.0 installation to try this on. You can check it yourself by looking at the relevant generation template: select Settings - Code Generation Templates, then pick Java in the language drop-down (top left). In the Templates list, find the one called "Attribute Declaration."

If there is a line starting with %attTag:"transient", the above should work. If not, you can add it yourself if you know how (code generation templates are not a good area for experimentation), but I don't want to post Sparx-copyrighted material here.

Sadly, using tagged values on attributes means you can't see this property in diagrams or the project browser. That's just a fact of life, but it might be worth the bother to hassle Sparx about putting in some sort of way of showing attribute tags.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文