Class SpoonPluginManager

  • All Implemented Interfaces:
    org.pentaho.di.core.plugins.PluginTypeListener

    public class SpoonPluginManager
    extends Object
    implements org.pentaho.di.core.plugins.PluginTypeListener
    SpoonPluginManager is a singleton class which loads all SpoonPlugins from the SPOON_HOME/plugins/spoon directory.

    Spoon Plugins are able to listen for SpoonLifeCycleEvents and can register categorized XUL Overlays to be retrieved later.

    Spoon Plugins are deployed as directories under the SPOON_HOME/plugins/spoon directory. Each plugin must provide a build.xml as the root of it's directory and have any required jars under a "lib" directory.

    The plugin.xml format is Spring-based e.g.

    Author:
    nbaker
    • Method Detail

      • pluginAdded

        public void pluginAdded​(Object serviceObject)
        Specified by:
        pluginAdded in interface org.pentaho.di.core.plugins.PluginTypeListener
      • pluginRemoved

        public void pluginRemoved​(Object serviceObject)
        Specified by:
        pluginRemoved in interface org.pentaho.di.core.plugins.PluginTypeListener
      • pluginChanged

        public void pluginChanged​(Object serviceObject)
        Specified by:
        pluginChanged in interface org.pentaho.di.core.plugins.PluginTypeListener
      • getInstance

        public static SpoonPluginManager getInstance()
        Return the single instance of this class
        Returns:
        SpoonPerspectiveManager
      • applyPluginsForContainer

        public void applyPluginsForContainer​(String category,
                                             org.pentaho.ui.xul.XulDomContainer container)
                                      throws org.pentaho.ui.xul.XulException
        Throws:
        org.pentaho.ui.xul.XulException
      • getPlugins

        public List<SpoonPluginInterface> getPlugins()
        Returns an unmodifiable list of all Spoon Plugins.
        Returns:
        list of plugins
      • notifyLifecycleListeners

        public void notifyLifecycleListeners​(SpoonLifecycleListener.SpoonLifeCycleEvent evt)
        Notifies all registered SpoonLifecycleListeners of the given SpoonLifeCycleEvent.
        Parameters:
        evt - event to notify listeners about