/* * SIP Communicator, the OpenSource Java VoIP and Instant Messaging client. * * Distributable under LGPL license. * See terms of license at gnu.org. */ package net.java.sip.communicator.plugin.generalconfig; import java.io.*; import java.util.*; import net.java.sip.communicator.service.resources.*; import net.java.sip.communicator.util.*; import org.osgi.framework.*; /** * The Resources class manages the access to the internationalization * properties files and the image resources used in this plugin. * * @author Yana Stamcheva */ public class Resources { private static Logger log = Logger.getLogger(Resources.class); private static ResourceManagementService resourcesService; /** * Returns an internationalized string corresponding to the given key. * @param key The key of the string. * @return An internationalized string corresponding to the given key. */ public static String getString(String key) { return getResources().getI18NString(key); } /** * Returns an application property string corresponding to the given key. * @param key The key of the string. * @return A string corresponding to the given key. */ public static String getApplicationString(String key) { return getResources().getSettingsString(key); } /** * Loads an image from a given image identifier. * @param imageID The identifier of the image. * @return The image for the given identifier. */ public static byte[] getImage(String imageId) { InputStream in = getResources().getImageInputStream(imageId); if(in == null) return null; byte[] image = null; try { image = new byte[in.available()]; in.read(image); } catch (IOException e) { log.error("Failed to load image:" + imageId, e); } return image; } public static ResourceManagementService getResources() { if (resourcesService == null) { ServiceReference serviceReference = GeneralConfigPluginActivator.bundleContext .getServiceReference(ResourceManagementService.class.getName()); if(serviceReference == null) return null; resourcesService = (ResourceManagementService)GeneralConfigPluginActivator.bundleContext .getService(serviceReference); } return resourcesService; } }