Диалог Eclipse «Открытый тип» ограничен определенным интерфейсом - PullRequest
1 голос
/ 23 сентября 2009

Я пытаюсь создать JavaUI.createTypeDialog (), который ограничивает пользователя в выборе только типов, принадлежащих определенному интерфейсу. Как я мог это сделать?

1 Ответ

2 голосов
/ 25 сентября 2009

Этот ответ показывает, как получить иерархию типов для определенного типа. Вы можете использовать аналогичную обработку для получения TypeHierarchy для интерфейса, а затем заполнить список результирующими типами.

IProject project; //currently selected project

//get the java project and locate the interface type
JavaProject javaProject = JavaCore.create(project);
IType myInterface = 
    javaProject.findType("MyInterface","name.seller.rich");

//get the sub types from the interface's type hierarchy
ITypeHierarchy hierarchy =
    myInterface .newTypeHierarchy(new NullProgressMonitor());

IType[] subTypes = hierarchy.getAllSubtypes(myInterface );

//do something with the sub types
...
...