package org.activiti.designer.eclipse.common; import java.util.HashMap; import java.util.Iterator; import java.util.Map; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.swt.graphics.Image; /** * Provides access to the plugin's image resources. * * @author Tiese Barrell * @since 5.5 * @version 1 * */ public abstract class AbstractImageCache { private static final Map<ImageDescriptor, Image> imageMap = new HashMap<ImageDescriptor, Image>(); protected static final Image getImage(ImageDescriptor imageDescriptor) { if (imageDescriptor == null) return null; Image image = (Image) imageMap.get(imageDescriptor); if (image == null) { image = imageDescriptor.createImage(); imageMap.put(imageDescriptor, image); } return image; } public void dispose() { Iterator<Image> iter = imageMap.values().iterator(); while (iter.hasNext()) iter.next().dispose(); imageMap.clear(); } }