我们目前正在使用EMF验证,以便在违反模型约束的情况下向用户提供直接反馈。
系统设置如下:
EContentAdapter
记录在模型上完成的所有修改CommandStackListener
完成Command
后,LiveValidator
将这些修改推送到EMF验证框架。这减少了执行的验证数量。 EMF Notification
配置为也报告SUCCESS。ValidationListener
:
ComputedValue
保留所有约束失败的实体的列表。它使用新的SUCCESS或FAILED ConstraintStatus消息更新此列表。它还会更新列表以删除资源中不再包含的FAILED实体(因为它们已被删除)。我自己似乎已经实现了很多功能。是否没有可用于执行以下操作的标准API /实现?
或者我实际上是否正在充分利用框架? 如果我将使用OCL约束,那么系统是否能够检测哪些更改会影响约束结果?