如何使用 Java Automation API 为 Enterprise Architect 中的枚举条目设置初始值?
How to set an initial value for an enumeration entry in Enterprise Architect using Java Automation API?
我需要能够使用 EA Java 自动化 API 设置枚举文字的初始值。不幸的是,我没能在手册中找到如何实现这一点。正如我发现的那样,枚举实际上由 EA 对象模型中的 Element 表示。我正在创建一个类型为 Enumeration 的元素 elem 并通过使用以下代码:
org.sparx.Attribute attr1 = elem.GetAttributes().AddNew("PTS_OFF", "Enum");
然后我可以更改此属性的某些属性,但我找不到 GUI 中可用的初始值 setter。
是否有专用的 API 或我只能使用 GUI 来做到这一点( 通过右键单击枚举条目->属性->详细信息->属性->常规->初始值)?我正在使用 EA v11.
问题解决了!我怀疑这比看起来容易。感谢 Thomas Kilian 提出了使用 SQL 完成此任务的想法,我能够执行搜索并找出数据库中的哪个字段与对话框中的 "Initial value" 完全对应。结果是下面的代码更新了初始值:
attr1.SetDefault("my initial value");
使用 SQL 也可以,但在这种情况下这是更复杂的方法,因为属性元素实际上为此包含一个 setter。按照 Thomas 的建议,可以执行以下操作:
Repository.Execute("UPDATE t_attribute SET Default='my init value' where Name = 'PTS_OFF'");
我需要能够使用 EA Java 自动化 API 设置枚举文字的初始值。不幸的是,我没能在手册中找到如何实现这一点。正如我发现的那样,枚举实际上由 EA 对象模型中的 Element 表示。我正在创建一个类型为 Enumeration 的元素 elem 并通过使用以下代码:
org.sparx.Attribute attr1 = elem.GetAttributes().AddNew("PTS_OFF", "Enum");
然后我可以更改此属性的某些属性,但我找不到 GUI 中可用的初始值 setter。 是否有专用的 API 或我只能使用 GUI 来做到这一点( 通过右键单击枚举条目->属性->详细信息->属性->常规->初始值)?我正在使用 EA v11.
问题解决了!我怀疑这比看起来容易。感谢 Thomas Kilian 提出了使用 SQL 完成此任务的想法,我能够执行搜索并找出数据库中的哪个字段与对话框中的 "Initial value" 完全对应。结果是下面的代码更新了初始值:attr1.SetDefault("my initial value");
使用 SQL 也可以,但在这种情况下这是更复杂的方法,因为属性元素实际上为此包含一个 setter。按照 Thomas 的建议,可以执行以下操作:
Repository.Execute("UPDATE t_attribute SET Default='my init value' where Name = 'PTS_OFF'");