1

我正在尝试为某些必须捕获添加通知的 EMF Eclipse 模型开发适配器。它应该做的是,当我向模型添加一些东西时,必须显示一个询问一些问题的对话框。

但是,当我打开模型时,我会收到很多添加通知。我想这是正常的,因为当你打开一个模型时,它必须加载它的所有特性,并且 emf 必须将它们添加到内存模型(或类似的东西)中。

但这是一个严重的问题,因为我不知道来自模型加载或用户交互的“添加通知”是什么。

是否可以进行过滤以跳过来自模型负载的所有通知?

非常感谢!

4

1 回答 1

0

eclipse emf论坛的人已经回答了我,这就是答案:

适配器是如何连接的?您应该考虑附加它们以响应 Resource.RESOURCE__IS_LOADED 通知,就像 org.eclipse.emf.ecore.change.util.ChangeRecorder.notifyChanged(Notification) 一样。您还可以使用 ((Resource.Internal)eObject.eResource()).isLoading() 进行保护。

我选择了第二个选项,使用 isLoading 的守卫,它就像一个魅力。

于 2012-12-02T12:29:35.477 回答