我想知道什么是正确的:我有一个使用一些JPA实体的eclipse rcp应用程序。现在我很乐意使用适配器模式,它通过IAdapterFactory
和IAdaptable
接口提供。根据这个article我的实体必须实现IAdaptable
接口,但我希望有干净的实体,我也不想写愚蠢的ContentProvider。我的问题:我还有其他选择,然后使用ContentProvider吗?
答案 0 :(得分:3)
他们说实施IAdaptable
并非绝对必要。
也可以这样做
IAdapterManager manager = Platform.getAdapterManager();
... = manager.getAdapter(object, IResource.class);
e.g。 WorkbenchLabelProvider
使用org.eclipse.ui.internal.util.Util.getAdapter()
检查对象IAdaptable
以后是否使用IAdapterManager
。
IAdapterManager
管理IAdapterFactories
。可以使用registerAdapters
方法以编程方式注册适配器工厂。或者,可以使用org.eclipse.core.runtime.adapters
扩展点以声明方式注册它们。