Java 在eclipse decorators中区分包和文件夹

Java 在eclipse decorators中区分包和文件夹,java,eclipse,eclipse-plugin,Java,Eclipse,Eclipse Plugin,我正在尝试编写一个基本的图标装饰器来装饰我的项目包 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 LabelPr

我正在尝试编写一个基本的图标装饰器来装饰我的项目包

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项目的包上应用图标装饰,但我无法区分源文件夹和包。

您在IResource上有一个句柄,它是Eclipse核心实体。您需要将其转换为JDT实体。适当的API存在于
JavaCore
类中。您正在寻找的方法是
create(IResource资源)
。它将返回相应类型的
IJavaElement
实例