import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
+import org.eclipse.core.runtime.*;
+/**
+ * The main plugin class to be used in the desktop.
+ */
public class PHPDebugCorePlugin extends Plugin {
public static final String PLUGIN_ID = "net.sourceforge.phpeclipse.debug.core"; //$NON-NLS-1$
-
+ // The shared instance.
protected static PHPDebugCorePlugin plugin;
+ /**
+ * The constructor.
+ */
public PHPDebugCorePlugin(IPluginDescriptor descriptor) {
super(descriptor);
plugin = this;
}
+ /**
+ * Returns the shared instance.
+ */
public static PHPDebugCorePlugin getDefault() {
return plugin;
}
+ /**
+ * Returns the workspace instance.
+ */
public static IWorkspace getWorkspace() {
return PHPeclipsePlugin.getWorkspace();
}
public static void log(Throwable e) {
log(new Status(IStatus.ERROR, PLUGIN_ID, IStatus.ERROR, "PHPLaunchingPlugin.internalErrorOccurred", e)); //$NON-NLS-1$
}
+
+ /**
+ * Convenience method which returns the unique identifier of this plugin.
+ */
+ public static String getUniqueIdentifier() {
+ if (getDefault() == null) {
+ // If the default instance is not yet initialized,
+ // return a static identifier. This identifier must
+ // match the plugin id defined in plugin.xml
+ return PLUGIN_ID;
+ }
+ return getDefault().getDescriptor().getUniqueIdentifier();
+ }
+
+ /**
+ * @see Plugin#shutdown()
+ */
+ public void shutdown() throws CoreException {
+ plugin = null;
+ super.shutdown();
+ }
}