/** * Aptana Studio * Copyright (c) 2005-2011 by Appcelerator, Inc. All Rights Reserved. * Licensed under the terms of the GNU Public License (GPL) v3 (with exceptions). * Please see the license.html included with this distribution for details. * Any modifications to this file must keep this entire header intact. */ package com.aptana.editor.ruby; import org.eclipse.jface.resource.ImageDescriptor; import org.eclipse.jface.resource.ImageRegistry; import org.eclipse.swt.graphics.Image; import org.eclipse.ui.plugin.AbstractUIPlugin; import org.eclipse.ui.texteditor.IDocumentProvider; import org.osgi.framework.BundleContext; /** * The activator class controls the plug-in life cycle */ public class RubyEditorPlugin extends AbstractUIPlugin { // The plug-in ID public static final String PLUGIN_ID = "com.aptana.editor.ruby"; //$NON-NLS-1$ // The shared instance private static RubyEditorPlugin plugin; private IDocumentProvider rubyDocumentProvider; /** * The constructor */ public RubyEditorPlugin() // $codepro.audit.disable // com.instantiations.assist.eclipse.analysis.audit.rule.effectivejava.enforceTheSingletonPropertyWithAPrivateConstructor { } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#start(org.osgi.framework.BundleContext) */ public void start(BundleContext context) throws Exception // $codepro.audit.disable declaredExceptions { super.start(context); plugin = this; } /* * (non-Javadoc) * @see org.eclipse.ui.plugin.AbstractUIPlugin#stop(org.osgi.framework.BundleContext) */ public void stop(BundleContext context) throws Exception // $codepro.audit.disable declaredExceptions { plugin = null; super.stop(context); } /** * Returns the shared instance * * @return the shared instance */ public static RubyEditorPlugin getDefault() { return plugin; } public static Image getImage(String path) { ImageRegistry registry = plugin.getImageRegistry(); Image image = registry.get(path); if (image == null) { ImageDescriptor id = getImageDescriptor(path); if (id == null) { return null; } registry.put(path, id); image = registry.get(path); } return image; } public static ImageDescriptor getImageDescriptor(String path) { return AbstractUIPlugin.imageDescriptorFromPlugin(PLUGIN_ID, path); } /** * Returns Ruby document provider * @return */ public synchronized IDocumentProvider getRubyDocumentProvider() { if (rubyDocumentProvider == null) { rubyDocumentProvider = new RubyDocumentProvider(); } return rubyDocumentProvider; } }