Class PluginActivator

java.lang.Object
org.eclipse.core.runtime.Plugin
org.eclipse.ui.plugin.AbstractUIPlugin
com.iizigo.term.PluginActivator
All Implemented Interfaces:
IPluginInitialize, IModuleDisposeListener, IModulePerspective, IProjectListener, IServerApplicationSetupProvider, org.osgi.framework.BundleActivator

public class PluginActivator extends org.eclipse.ui.plugin.AbstractUIPlugin implements IPluginInitialize, IModulePerspective, IProjectListener, IModuleDisposeListener, IServerApplicationSetupProvider
The activator class controls the plug-in life cycle.
  • Field Details

    • PLUGIN_ID

      public static final String PLUGIN_ID
      The plug-in ID
      See Also:
    • setupScreen

      public static final PropertyEditorSetup setupScreen
      The resource setup: screen.
    • setupCapture

      public static final PropertyEditorSetup setupCapture
      The resource setup: capture.
    • setupRecording

      public static final PropertyEditorSetup setupRecording
      The resource setup: recording.
    • setupMonitor

      public static final PropertyEditorSetup setupMonitor
      The resource setup: server monitor.
    • awtImageWarning

      public static Image awtImageWarning
      AWT image: warning sign.
    • awtImageError

      public static Image awtImageError
      AWT image: error sign.
  • Constructor Details

    • PluginActivator

      public PluginActivator()
      The constructor
  • Method Details

    • getInstance

      public static PluginActivator getInstance()
      Returns the shared instance.
      Returns:
      The shared instance.
    • getDefault

      public static PluginActivator getDefault()
      Returns the default instance, required for the IIZI Plugin framework.
      Returns:
      The shared instance.
    • start

      public void start(org.osgi.framework.BundleContext context) throws Exception
      Starts up the Terminal plug-in bundle.

      If this method throws an exception, it is taken as an indication that plug-in initialization has failed; as a result, the plug-in will not be activated; moreover, the plug-in will be marked as disabled and ineligible for activation for the duration.

      Note 1: This method is automatically invoked by the platform the first time any code in the plug-in is executed.

      Note 2: This method is intended to perform simple initialization of the plug-in environment. The platform may terminate initializers that do not complete in a timely fashion.

      Note 3: The class loader typically has monitors acquired during invocation of this method. It is strongly recommended that this method avoid synchronized blocks or other thread locking mechanisms, as this would lead to deadlock vulnerability.

      Note 4: The supplied bundle context represents the plug-in to the OSGi framework. For security reasons, it is strongly recommended that this object should not be divulged.

      Note 5: This method and the stop(BundleContext) may be called from separate threads, but the OSGi framework ensures that both methods will not be called simultaneously.

      Specified by:
      start in interface org.osgi.framework.BundleActivator
      Overrides:
      start in class org.eclipse.ui.plugin.AbstractUIPlugin
      Parameters:
      context - The bundle context.
      Throws:
      Exception - For errors in loading the IIZI properties framework.
    • registerPlugin

      public void registerPlugin() throws org.eclipse.core.runtime.CoreException
      Registers this plug-in with iiziGo. This method is called from IIZI Designer when an application requires the plug-in. The plug-in should check if registration already has been done, and if so, skip the registration. This is required due to the OSGi framework threading at startup of Eclipse.
      Specified by:
      registerPlugin in interface IPluginInitialize
      Throws:
      org.eclipse.core.runtime.CoreException - For registration failures.
    • initializeModule

      public void initializeModule(ModuleModel model) throws org.eclipse.core.runtime.CoreException
      Initializes the plug-in after the Module project has been loaded.
      Specified by:
      initializeModule in interface IPluginInitialize
      Parameters:
      model - The Module project.
      Throws:
      org.eclipse.core.runtime.CoreException - For initialization failures.
    • onModuleProjectDisposed

      public void onModuleProjectDisposed(ModuleModel model)
      Called when a Module project is disposed of.
      Specified by:
      onModuleProjectDisposed in interface IModuleDisposeListener
    • onModuleProjectDeconfigured

      public void onModuleProjectDeconfigured(ModuleModel model)
      Called when a Module project is de-configured from this plug-in.
      Specified by:
      onModuleProjectDeconfigured in interface IModuleDisposeListener
    • getModuleContainer

      public ModuleFolderPropCnr getModuleContainer(ModuleModel model)
      Gets the Module Folder container for the Terminal plug-in.
      Parameters:
      model - The module model.
      Returns:
      The ModuleFolder for the type, null if defined for the project.
    • createNewWizards

      public void createNewWizards(ArrayList<org.eclipse.ui.menus.CommandContributionItem> newWizards)
      Call to fill the array with "New Wizards".
      Specified by:
      createNewWizards in interface IPluginInitialize
      Parameters:
      newWizards - Array of New Wizard's.
    • stop

      public void stop(org.osgi.framework.BundleContext context) throws Exception
      Specified by:
      stop in interface org.osgi.framework.BundleActivator
      Overrides:
      stop in class org.eclipse.ui.plugin.AbstractUIPlugin
      Throws:
      Exception
    • saveSessions

      public Exception saveSessions()
      Saves the sessions file.
      Returns:
      An error for error, otherwise null.
    • getSessionsContainer

      public EditorSessionsProp getSessionsContainer()
      Gets the Sessions property container.
      Returns:
      The sessions property.
    • getPluginDescriptor

      public static PluginDescriptor getPluginDescriptor()
      Gets the IIZI PluginDescriptor.
      Returns:
      The singleton.
    • startupUI

      public static void startupUI()
      Method to call as soon as possible to load images and other UI stuff. If called from another thread than SWT, a syncExec is done.
    • loadAWTIcon

      public Image loadAWTIcon(String fn)
      Loads an AWT image.
      Parameters:
      fn - The file name, relative the "icons" directory for the plug-in.
      Returns:
      The AWT image.
    • loadIcon

      public static org.eclipse.swt.graphics.Image loadIcon(String fn)
      Load an image for this plugin.
      Parameters:
      fn - The file name, relative the "icons" directory for the plug-in.
      Returns:
      null if not found or plugin is not started.
    • loadIcon

      public static org.eclipse.swt.graphics.Image loadIcon(Class<? extends GProp<?>> propClass, String fn)
      Load an image for this plugin.
      Parameters:
      propClass - The property class assigned.
      fn - The file name, relative the "icons" directory for the plug-in.
      Returns:
      null if not found or plugin is not started.
    • getIcon

      public static org.eclipse.jface.resource.ImageDescriptor getIcon(String fileName)
      Returns an image descriptor for the image file at the given plug-in relative path.
      Parameters:
      fileName - The image file name inside "icons".
      Returns:
      the image descriptor.
    • onInitialLayout

      public void onInitialLayout(org.eclipse.ui.IPageLayout layout, org.eclipse.ui.IFolderLayout folder, org.eclipse.ui.IFolderLayout outlineFolder, org.eclipse.ui.IFolderLayout outputfolder)
      Called when the Module perspective has completed initializing itself with IIZI-related items. Once the plug-ins complete their processing, additional Java and Java-EE items are added.
      Specified by:
      onInitialLayout in interface IModulePerspective
      Parameters:
      layout - The page layout.
      folder - The folder area, left side.
      outlineFolder - The outline folder on the right side, perhaps null (be careful!).
      outputfolder - The output folder area, bottom placement.
    • onProjectChanged

      public void onProjectChanged(org.eclipse.core.resources.IResourceDelta delta)
      Called during workspace change to inform the plug-in of a project change.
      Specified by:
      onProjectChanged in interface IProjectListener
      Parameters:
      delta - The resource delta.
    • getServerApplicationSetupInstances

      public IServerApplicationSetup[] getServerApplicationSetupInstances(PropCnr moduleRoot)
      Queries for instances of the IServerApplicationSetup required. This call makes it possible to redirect the query to other properties. Most plug-ins would have a single instance.
      Specified by:
      getServerApplicationSetupInstances in interface IServerApplicationSetupProvider
      Parameters:
      moduleRoot - The root of the Module application.
      Returns:
      The IServerApplicationSetup instances that is participating in the setup.