Перечислите все подклассы с полностью определенными именами

UI jQuery имеет некоторые классы для фиксации этого также (ui-help-clearfix, делает что-то).

Технически <div style="clear:both;"></div> лучше, чем <br style="clear:both;" />, потому что у пустого отделения будет 0 высот, таким образом, просто очистив плавания. Эти <br /> оставит пространство. Я ничего не вижу неправильно с использованием <div/> метод.

5
задан Grzegorz Oledzki 15 September 2009 в 09:40
поделиться

4 ответа

Следуя схеме, описанной в http://internna.blogspot.com/2007/11/java-5-retrieving-all-classes-from.html , можно делать это программно. Жаль, что Eclipse не может этого сделать, OOTB. Выполнение этого в коде Java позволяет выполнять фильтрацию без дополнительных затрат (например, ! (Klazz.isEnum ()) ).

0
ответ дан 14 December 2019 в 08:55
поделиться

Метод в представлении иерархии, который строит дерево иерархии, находится в org.eclipse.jdt.internal.ui.typehierarchy.TypeHierarchyLifeCycle :

private ITypeHierarchy createTypeHierarchy(IJavaElement element, IProgressMonitor pm) throws JavaModelException {
    if (element.getElementType() == IJavaElement.TYPE) {
        IType type= (IType) element;
        if (fIsSuperTypesOnly) {
            return type.newSupertypeHierarchy(pm);
        } else {
            return type.newTypeHierarchy(pm);
        }
    } else {

Который использует org.eclipse.jdt.internal.core.SourceType класс

/**
 * @see IType
 */
public ITypeHierarchy newTypeHierarchy(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
    return newTypeHierarchy(project, DefaultWorkingCopyOwner.PRIMARY, monitor);
}

Итак, если вы можете получить IJavaElement , вы можете проверить эти классы, чтобы эмулировать тот же результат.

Он использует org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation

3
ответ дан 14 December 2019 в 08:55
поделиться

Обновление: мой исходный ответ не сработает, так как нет контекста для структурированного выбора.

Этот ответ показывает, как добавить действие в контекстное меню и получить структурированный отбор. Вы можете изменить метод execute этого типа для обработки Иерархии (как предлагает VonC, +1), получения всех подтипов и установки содержимого в буфер обмена следующим образом:

public Object execute(ExecutionEvent event) throws ExecutionException {
    IWorkbenchPart activePart = HandlerUtil.getActivePart(event);
    try {
        IStructuredSelection selection = SelectionConverter
                .getStructuredSelection(activePart);

        IJavaElement[] elements = SelectionConverter.getElements(selection);

        if (elements != null && elements.length > 0) {
            if (elements[0] != null && elements[0] instanceof IType) {
                IType type = (IType)elements[0];

                ITypeHierarchy hierarchy =
                    type.newTypeHierarchy(new NullProgressMonitor());

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

                StringBuffer buf = new StringBuffer();
                for (IType iType : subTypes) {
                    buf.append(iType.getFullyQualifiedName()).append("\n");
                }

                Shell shell = HandlerUtil.getActiveShell(event);

                Clipboard clipboard = new Clipboard(shell.getDisplay());

                clipboard.setContents(
                    new Object[]{buf.toString()}, 
                    new Transfer[]{TextTransfer.getInstance()});
            }
        }
    } catch (JavaModelException e) {
        logException(e);
    }
    return null;
}
3
ответ дан 14 December 2019 в 08:55
поделиться

nWire для Java может предоставить вам полный список классов, которые расширяют данный класс или реализуют определенный интерфейс. Вы получите его в навигаторе nWire, который не поддерживает команду копирования.

Однако вы можете подключиться к базе данных nWire, которая является стандартной базой данных H2 и имеет очень простую структуру, и получить все необходимое с помощью простого запроса. Когда-нибудь в будущем мы представим возможности отчетности.

ИМХО, это потребует меньше усилий, и вы получите инструмент, который даст вам гораздо больше.

1
ответ дан 14 December 2019 в 08:55
поделиться
Другие вопросы по тегам:

Похожие вопросы: