EMF验证:正确的方法是什么?

时间:2013-04-02 10:50:00

标签: eclipse-rcp eclipse-emf emf

我们目前正在使用EMF验证,以便在违反模型约束的情况下向用户提供直接反馈。

系统设置如下:

  • EContentAdapter记录在模型上完成的所有修改
  • CommandStackListener完成Command后,LiveValidator将这些修改推送到EMF验证框架。这减少了执行的验证数量。 EMF Notification配置为也报告SUCCESS。
  • 每个约束都根据以下条件查看ValidationListener
    • 是否是对正在验证的实体内容的修改?
    • 是否添加了要验证的实体的修改?
    • 是否会以某种其他方式影响先前计算的验证结果?
  • ComputedValue保留所有约束失败的实体的列表。它使用新的SUCCESS或FAILED ConstraintStatus消息更新此列表。它还会更新列表以删除资源中不再包含的FAILED实体(因为它们已被删除)。

我自己似乎已经实现了很多功能。是否没有可用于执行以下操作的标准API /实现?

  • 跟踪验证状态
  • 跟踪约束使用的属性;仅在其中一个属性发生更改时重新验证。
    • 与JFace数据绑定{{1}}的工作原理相似。

或者我实际上是否正在充分利用框架? 如果我将使用OCL约束,那么系统是否能够检测哪些更改会影响约束结果?

0 个答案:

没有答案