/*******************************************************************************
* Copyright (c) 2007, 2008 Edgar Espina.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
*******************************************************************************/
package org.deved.antlride.core;
import org.deved.antlride.core.resources.AntlrResourceTracker;
import org.eclipse.core.runtime.CoreException;
import org.eclipse.core.runtime.IStatus;
import org.eclipse.core.runtime.Plugin;
import org.eclipse.core.runtime.Preferences;
import org.eclipse.core.runtime.Status;
import org.osgi.framework.BundleContext;
/**
* The activator class controls the plug-in life cycle
*/
@SuppressWarnings("deprecation")
public class AntlrCore extends Plugin {
public static final boolean DEBUG = false;
// The plug-in ID
public static final String PLUGIN_ID = AntlrConstants.ANTLR_CORE;
// The shared instance
private static AntlrCore plugin;
public static String ANTLR_SOURCE_PARSER_KEY = "antlr_core_source_parser";
private BundleContext context;
/**
* The constructor
*/
public AntlrCore() {
}
public static boolean getBooleanProperty(String name) {
return getPreferences().getBoolean(name);
}
private static Preferences getPreferences() {
return getDefault().getPluginPreferences();
}
public void start(BundleContext context) throws Exception {
super.start(context);
plugin = this;
this.context = context;
//init
AntlrLanguageToolkit.getDefault();
AntlrResourceTracker.startTracking();
}
public void stop(BundleContext context) throws Exception {
plugin = null;
super.stop(context);
this.context = (null);
AntlrResourceTracker.stopTracking();
savePluginPreferences();
}
/**
* Returns the shared instance
*
* @return the shared instance
*/
public static AntlrCore getDefault() {
return plugin;
}
public static void error(String message) {
error(message, null);
}
public static void warning(String message) {
warning(message, null);
}
public static void info(String message) {
info(message, null);
}
public static void error(Throwable throwable) {
error(throwable.getMessage(), throwable);
}
public static void error(CoreException ex) {
getDefault().getLog().log(ex.getStatus());
}
public static void error(final String message, Throwable throwable) {
org.eclipse.core.runtime.IStatus status = new Status(IStatus.ERROR,
PLUGIN_ID, message, throwable);
getDefault().getLog().log(status);
}
public static void warning(final String message, Throwable throwable) {
org.eclipse.core.runtime.IStatus status = new Status(IStatus.WARNING,
PLUGIN_ID, message, throwable);
getDefault().getLog().log(status);
}
public static void info(String message, Throwable throwable) {
org.eclipse.core.runtime.IStatus status = new Status(IStatus.INFO, getDefault()
.getBundle().getSymbolicName(), 44, message, throwable);
getDefault().getLog().log(status);
}
public BundleContext getContext() {
return context;
}
}