package org.epic.regexp; import org.eclipse.ui.plugin.*; import org.eclipse.core.runtime.*; import org.eclipse.core.resources.*; import java.io.IOException; import java.net.URL; import java.util.*; /** * The main plugin class to be used in the desktop. */ public class RegExpPlugin extends AbstractUIPlugin { //The shared instance. private static RegExpPlugin plugin; //Resource bundle. private ResourceBundle resourceBundle; /** * The constructor. */ public RegExpPlugin() { super(); plugin = this; try { resourceBundle= ResourceBundle.getBundle("org.epic.regexp.RegexpPluginResources"); } catch (MissingResourceException x) { resourceBundle = null; } } /** * Returns the shared instance. */ public static RegExpPlugin getDefault() { return plugin; } /** * Returns the workspace instance. */ public static IWorkspace getWorkspace() { return ResourcesPlugin.getWorkspace(); } /** * Returns the string from the plugin's resource bundle, * or 'key' if not found. */ public static String getResourceString(String key) { ResourceBundle bundle= RegExpPlugin.getDefault().getResourceBundle(); try { return bundle.getString(key); } catch (MissingResourceException e) { return key; } } /** * Returns the plugin's resource bundle, */ public ResourceBundle getResourceBundle() { return resourceBundle; } static public String getPlugInDir() { URL installURL = getDefault().getBundle().getEntry("/"); try { installURL = FileLocator.resolve(installURL); } catch (IOException e) { e.printStackTrace(); } return installURL.toExternalForm(); } }