Есть ли способ найти, куда перемещаются внутренние классы - PullRequest
0 голосов
/ 11 апреля 2019

Мы переносим наше приложение из Eclipse Indigo в Photon, и мне нужна помощь в поиске решения или альтернативы для определенного класса, который присутствует в Indigo, но отсутствует в Photon.

Класс, который мы пытаемся выяснить, это org.eclipse.ui.internal.navigator.AdaptabilityUtility. Поскольку это внутренний класс, он недоступен. Но нам не повезло найти альтернативу.

Используется только одна функция класса:

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

Если кто-то знает альтернативный метод, который можно использовать здесь, это очень поможет.

1 Ответ

3 голосов
/ 11 апреля 2019

Внутренние компоненты Eclipse были полностью переписаны для Eclipse 4, поэтому в целом не может быть точных альтернатив для внутренних классов, которые никогда не были частью официального API.

Однако для AdaptableUtility похоже, что текущий класс org.eclipse.core.runtime.Adapters должен работать:

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

Adapters.adapt использует дженерики, поэтому приведения не нужны. Адаптеры не являются внутренними, поэтому это официальный API.

...