/*
* #%~
* org.overture.ide.vdmsl.core
* %%
* Copyright (C) 2008 - 2014 Overture
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU General Public License as
* published by the Free Software Foundation, either version 3 of the
* License, or (at your option) any later version.
*
* This program is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public
* License along with this program. If not, see
* <http://www.gnu.org/licenses/gpl-3.0.html>.
* #~%
*/
package org.overture.ide.vdmsl.core;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Status;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
public class VdmSlCorePlugin extends Plugin {
public static boolean DEBUG = true;
// The shared instance
private static VdmSlCorePlugin plugin;
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugins#start(org.osgi.framework.BundleContext)
*/
@Override
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
}
/*
* (non-Javadoc)
* @see org.eclipse.core.runtime.Plugin#stop(org.osgi.framework.BundleContext)
*/
@Override
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static VdmSlCorePlugin getDefault() {
return plugin;
}
public static void log(Exception ex) {
if (DEBUG){
ex.printStackTrace();
}
String message = ex.getMessage();
if (message == null){
message = "(no message)"; //$NON-NLS-1$
}
getDefault().getLog().log(new Status(IStatus.ERROR, IVdmSlCoreConstants.PLUGIN_ID, 0, message, ex));
}
// private final ListenerList shutdownListeners = new ListenerList();
}