package net.sourceforge.pmd.eclipse.ui.views; import java.util.HashMap; import java.util.Map; import net.sourceforge.pmd.eclipse.plugin.UISettings; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.viewers.ITableLabelProvider; import org.eclipse.jface.viewers.LabelProvider; import org.eclipse.swt.graphics.Image; /** * * @author Brian Remedios */ public abstract class AbstractViolationLabelProvider extends LabelProvider implements ITableLabelProvider { private static Map<Integer, Image> imagesByPriorityIndex; static { loadImageMap(); } protected AbstractViolationLabelProvider() { } private static void loadImageMap() { Map<Integer, ImageDescriptor> map = UISettings.markerImgDescriptorsByPriority(); imagesByPriorityIndex = new HashMap<Integer, Image>(map.size()); for (Map.Entry<Integer, ImageDescriptor> entry : map.entrySet()) { imagesByPriorityIndex.put( entry.getKey(), entry.getValue().createImage() ); } } protected static Image getPriorityImage(int priority) { return imagesByPriorityIndex.get(priority); } }