/******************************************************************************* * Copyright (c) 2011 - 2012 Siamak Haschemi & Benjamin Haupt * 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 de.bht.fpa.mail.s000000.common.internal; import java.io.PrintWriter; import java.io.StringWriter; import java.io.Writer; import org.eclipse.core.runtime.IStatus; import org.eclipse.core.runtime.Status; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle. */ public class Activator extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "de.bht.fpa.mail.common"; //$NON-NLS-1$ // The shared instance private static Activator instance; /** * The constructor. */ public Activator() { } /* * (non-Javadoc) * * @see * org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext * ) */ @Override public void start(BundleContext context) throws Exception { super.start(context); instance = this; } /* * (non-Javadoc) * * @see * org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext * ) */ @Override public void stop(BundleContext context) throws Exception { instance = null; super.stop(context); } /** * Returns the shared instance. * * @return the shared instance */ public static Activator getInstance() { return instance; } /** * Returns an image descriptor for the image file at the given plug-in * relative path. * * @param path * the path * @return the image descriptor */ public static ImageDescriptor getImageDescriptor(String path) { return imageDescriptorFromPlugin(PLUGIN_ID, path); } /** * Logs an {@link Exception} to the eclipse workbench. * * @param e * the {@link Exception} to log */ public static void logException(Exception e) { if (getInstance() == null) { final Writer result = new StringWriter(); e.printStackTrace(new PrintWriter(result)); System.err.println(result.toString()); } else { getInstance().getLog().log(new Status(IStatus.ERROR, Activator.PLUGIN_ID, -1, e.getMessage(), e)); } } }