我正在尝试编写一个基本的图标装饰器来装饰我项目的包。
package org.tdd.custom.decorators;
import org.eclipse.core.resources.IResource;
import org.eclipse.jface.viewers.ILabelDecorator;
import org.eclipse.jface.viewers.LabelProvider;
public class CustomDecorator extends LabelProvider implements ILabelDecorator{
@Override
public org.eclipse.swt.graphics.Image decorateImage(org.eclipse.swt.graphics.Image image, Object element) {
IResource objectResource = (IResource) element;
//here I want to check weather objectResource
//is a package, source folder or plain folder
}
@Override
public String decorateText(String text, Object element) {
----
----
}
}
现在,我想仅在Java Project的包上应用图标装饰,但我无法区分源文件夹和包。
答案 0 :(得分:1)
你有一个IResource的句柄,它是一个Eclipse核心实体。您需要将其转换为JDT实体。 JavaCore
类中存在正确的API。您要查找的方法是create(IResource resource)
。它将返回相应类型的IJavaElement
实例。