有没有办法找到内部类在哪里移动

时间:2019-04-11 06:15:37

标签: eclipse-plugin eclipse-rcp

我们正在将应用程序从Eclipse Indigo迁移到Photon,我需要帮助来找到Indigo中存在但Photon中不存在的特定类的解决方案或替代方案。

我们要找出的类是org.eclipse.ui.internal.navigator.AdaptabilityUtility。 由于它是内部类,因此不可用。但是我们没有找到替代的运气。

仅使用该类的一个函数:

IAdaptable openable = (IAdaptable) AdaptabilityUtility.getAdapter(
        selection.getFirstElement(), IResource.class);

如果有人知道可以在此处使用的替代方法,那将是很大的帮助。

1 个答案:

答案 0 :(得分:3)

Eclipse内部结构完全针对Eclipse 4进行了重写,因此通常来说,对于内部类而言,可能没有确切的替代品,而这些内部类从来都不是正式API的一部分。

但是对于AdaptabilityUtility来说,当前的org.eclipse.core.runtime.Adapters类应该可以工作:

IResource resource = Adapters.adapt(selection.getFirstElement(), IResource.class);

Adapters.adapt使用泛型,因此不需要强制转换。适配器不是内部的,因此是官方的API。