区分eclipse装饰器中的包和文件夹

时间:2014-04-30 12:06:59

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

1 个答案:

答案 0 :(得分:1)

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