如何使用Java自动化API在Enterprise Architect中为枚举项设置初始值?

如何使用Java自动化API在Enterprise Architect中为枚举项设置初始值?,java,automation,enterprise-architect,Java,Automation,Enterprise Architect,我需要能够使用EA Java自动化API设置枚举文本的初始值。不幸的是,我没有在手册中找到如何实现这一点的方法。正如我发现的那样,枚举实际上由EA对象模型中的元素表示。我正在创建枚举类型的元素元素,并使用以下代码向其添加属性: org.sparx.Attribute attr1 = elem.GetAttributes().AddNew("PTS_OFF", "Enum"); 然后,我可以更改该属性的某些属性,但找不到GUI中可用的初始值的setter。 是否有专门的API,或者我只能用GUI

我需要能够使用EA Java自动化API设置枚举文本的初始值。不幸的是,我没有在手册中找到如何实现这一点的方法。正如我发现的那样,枚举实际上由EA对象模型中的元素表示。我正在创建枚举类型的元素元素,并使用以下代码向其添加属性

org.sparx.Attribute attr1 = elem.GetAttributes().AddNew("PTS_OFF", "Enum");
然后,我可以更改该属性的某些属性,但找不到GUI中可用的初始值的setter。
是否有专门的API,或者我只能用GUI(通过右键单击枚举条目->属性->详细信息->属性->常规->初始值)来实现?我正在使用EA v11。

问题已解决!我怀疑这比看上去容易。多亏了Thomas Kilian,他提出了在这个任务中使用SQL的想法,我才能够执行搜索并找出数据库中的哪个字段与对话框中的“初始值”完全对应。下面的代码更新了初始值:

attr1.SetDefault(“我的初始值”)

使用SQL也可以工作,但在本例中这是更复杂的方法,因为attribute元素实际上包含一个setter。按照托马斯的建议,我们可以做以下事情:


Repository.Execute(“更新t_属性集Default='my init value',其中Name='PTS_OFF'”)

您是如何定义标记的值的?通过MDG或查看默认电视?在使用EA这么多年后,我习惯了这种想法。但有时我会错过更明显的解决方案;-)无论如何,我在这个方法的帮助中找不到参考。你能指出吗?谢谢这似乎在任何地方都没有记录。我打开了eaapi.jar并检查了属性类提供的方法。直到我发现(使用SQL搜索)属性初始值的列名实际上被称为Default,我才能够确定使用哪种方法。然后它突然变得明显…:-)我的天哪,我以为你在谈论标签价值观:[我不应该工作得太晚。