/*
* Copyright PMEase (c) 2005 - 2010,
* Date: Jan 9, 2010 10:42:18 PM
*
* All rights reserved.
*
* Revision: $Id$
*/
package com.pmease.quickbuild.monitor.cache;
import java.io.InputStream;
import org.apache.commons.io.IOUtils;
import org.eclipse.jface.resource.ImageDescriptor;
import org.eclipse.jface.resource.ImageRegistry;
import org.eclipse.swt.graphics.Image;
import org.eclipse.swt.widgets.Display;
import com.pmease.quickbuild.monitor.resource.Resource;
public class ImageCache {
private final static ImageRegistry imageRegistry = new ImageRegistry(Display.getDefault());
public static void dispose() {
imageRegistry.dispose();
}
public static Image getImage(String key) {
Image image = imageRegistry.get(key);
if (image == null) {
image = createImage(key);
imageRegistry.put(key, image);
}
return image;
}
public static ImageDescriptor getImageDescriptor(String key) {
return ImageDescriptor.createFromImage(getImage(key));
}
private static Image createImage(String key) {
InputStream in = Resource.class.getResourceAsStream(key);
try {
return new Image(Display.getDefault(), in);
} finally {
IOUtils.closeQuietly(in);
}
}
}