0

我有具有属性 ID 的 Ecore 模型。现在在 Sirius 中,我们可以通过 set 操作通过在 Sirius 设计中指定属性的特征名称和值表达式来设置属性值。现在问题是,我想设置属性值 id,所以我想使用 java 给出的方法来创建随机数,那么我如何在值表达式中调用该方法,以使特征名称具有方法返回类型的值。

4

1 回答 1

1

Sirius 中的Set操作使用表达式来获取要设置的值。表达式可以用多种查询语言编写。大多数支持回调所谓的“ Java 服务”,它们是必须符合一些规则的纯 Java 方法。有关详细信息,请参阅相应的文档部分

基本上,对于您的情况,您需要:

  1. 编写一个小型 Java 类,该类公开您希望以 Sirius 可以作为服务调用的方式调用的“随机数生成”代码。
  2. 在您的 VSM 中注册相应的类(文档中对此进行了描述)。
  3. 最后,从操作中的表达式调用服务,Set Value例如service:getRandomId.

高级 Sirius 教程的最后还有一个关于使用 Java 服务的部分,这可能很有用。

于 2016-08-12T07:53:14.893 回答