我想获取给定类的所有子类及其完全限定名称的列表。我想从 Eclipse 复制它并粘贴到文本文件中,如下所示:
some.package.Class1
some.package.Class2
some.other.package.Class3
...
我试过了:
- doing
Search | Java | Type, Limit to implementors
. But由于一些奇怪的原因,这个没有列出子类的子类,只列出了直接后代。
- opening
Hierarchy
打印树组件中所有子类的类的视图,but此视图不允许我选择所有行并复制它们的名称。
还有什么技巧吗?有数百个类,所以我想避免手动完成。
层次结构视图中构建层次结构树的方法位于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 class
/**
* @see IType
*/
public ITypeHierarchy newTypeHierarchy(IJavaProject project, IProgressMonitor monitor) throws JavaModelException {
return newTypeHierarchy(project, DefaultWorkingCopyOwner.PRIMARY, monitor);
}
所以如果你能得到一个IJavaElement,您可以检查这些类以模拟相同的结果。
它使用一个org.eclipse.jdt.internal.core.CreateTypeHierarchyOperation
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)