Class DefaultPluginManager

java.lang.Object
org.pentaho.platform.plugin.services.pluginmgr.DefaultPluginManager
All Implemented Interfaces:
org.pentaho.platform.api.engine.IPluginManager

public class DefaultPluginManager extends Object implements org.pentaho.platform.api.engine.IPluginManager
  • Field Details

    • classLoaderMap

      protected Map<String,ClassLoader> classLoaderMap
    • beanFactoryMap

      protected Map<String,org.springframework.context.support.GenericApplicationContext> beanFactoryMap
    • registeredPlugins

      protected Map<String,org.pentaho.platform.api.engine.IPlatformPlugin> registeredPlugins
    • contentTypeByExtension

      protected Map<String,org.pentaho.platform.api.engine.IContentInfo> contentTypeByExtension
    • overlaysCache

      protected List<org.pentaho.ui.xul.XulOverlay> overlaysCache
  • Constructor Details

    • DefaultPluginManager

      public DefaultPluginManager()
  • Method Details

    • getContentTypes

      public Set<String> getContentTypes()
      Specified by:
      getContentTypes in interface org.pentaho.platform.api.engine.IPluginManager
    • getOverlays

      public List<org.pentaho.ui.xul.XulOverlay> getOverlays()
      Specified by:
      getOverlays in interface org.pentaho.platform.api.engine.IPluginManager
    • getContentTypeInfo

      public org.pentaho.platform.api.engine.IContentInfo getContentTypeInfo(String type)
      Specified by:
      getContentTypeInfo in interface org.pentaho.platform.api.engine.IPluginManager
    • getRegisteredPlugins

      public List<String> getRegisteredPlugins()
      Specified by:
      getRegisteredPlugins in interface org.pentaho.platform.api.engine.IPluginManager
    • reload

      @Deprecated public final boolean reload(org.pentaho.platform.api.engine.IPentahoSession session)
      Deprecated.
      Specified by:
      reload in interface org.pentaho.platform.api.engine.IPluginManager
    • reload

      public final boolean reload()
      Specified by:
      reload in interface org.pentaho.platform.api.engine.IPluginManager
    • registerContentTypes

      protected void registerContentTypes(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
      Throws:
      org.pentaho.platform.api.engine.PlatformPluginRegistrationException
    • getNativeBeanFactory

      protected org.springframework.beans.factory.BeanFactory getNativeBeanFactory(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader)
      The native bean factory is the bean factory that has had all of its bean definitions loaded natively. In other words, the plugin manager will not add any further bean definitions (i.e. from a plugin.xml file) into this factory. This factory represents the one responsible for holding bean definitions for plugin.spring.xml or, if in a unit test environment, the unit test pre-loaded bean factory.
      Returns:
      a bean factory will preconfigured bean definitions or null if no bean definition source is available
    • initializeBeanFactory

      protected void initializeBeanFactory(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
      Initializes a bean factory for serving up instance of plugin classes.
      Throws:
      org.pentaho.platform.api.engine.PlatformPluginRegistrationException
    • assertUnique

      protected void assertUnique(String pluginId, String beanId) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
      A utility method that throws an exception if a bean with the id is already defined for this plugin
      Throws:
      org.pentaho.platform.api.engine.PlatformPluginRegistrationException
    • getClassLoader

      public ClassLoader getClassLoader(org.pentaho.platform.api.engine.IPlatformPlugin plugin)
    • getClassLoader

      public ClassLoader getClassLoader(String pluginId)
      Specified by:
      getClassLoader in interface org.pentaho.platform.api.engine.IPluginManager
    • getBeanFactory

      public org.springframework.beans.factory.ListableBeanFactory getBeanFactory(String pluginId)
      Specified by:
      getBeanFactory in interface org.pentaho.platform.api.engine.IPluginManager
    • getBean

      public Object getBean(String beanId, Class<?> requiredType)
    • getBean

      public Object getBean(String beanId) throws org.pentaho.platform.api.engine.PluginBeanException
      Specified by:
      getBean in interface org.pentaho.platform.api.engine.IPluginManager
      Throws:
      org.pentaho.platform.api.engine.PluginBeanException
    • getContentGenerator

      public org.pentaho.platform.api.engine.IContentGenerator getContentGenerator(String type, String perspectiveName)
      Specified by:
      getContentGenerator in interface org.pentaho.platform.api.engine.IPluginManager
    • getAction

      public org.pentaho.platform.api.action.IAction getAction(String type, String perspectiveName)
    • loadClass

      public Class<?> loadClass(String beanId) throws org.pentaho.platform.api.engine.PluginBeanException
      Specified by:
      loadClass in interface org.pentaho.platform.api.engine.IPluginManager
      Throws:
      org.pentaho.platform.api.engine.PluginBeanException
    • isBeanRegistered

      public boolean isBeanRegistered(String beanId)
      Specified by:
      isBeanRegistered in interface org.pentaho.platform.api.engine.IPluginManager
    • unloadAllPlugins

      public void unloadAllPlugins()
      Specified by:
      unloadAllPlugins in interface org.pentaho.platform.api.engine.IPluginManager
    • getPluginSetting

      public Object getPluginSetting(org.pentaho.platform.api.engine.IPlatformPlugin plugin, String key, String defaultValue)
    • getPluginSetting

      public Object getPluginSetting(String pluginId, String key, String defaultValue)
      Specified by:
      getPluginSetting in interface org.pentaho.platform.api.engine.IPluginManager
    • getPluginIdForType

      public String getPluginIdForType(String contentType)
      Specified by:
      getPluginIdForType in interface org.pentaho.platform.api.engine.IPluginManager
    • getContentGeneratorForType

      @Deprecated public org.pentaho.platform.api.engine.IContentGenerator getContentGeneratorForType(String type, org.pentaho.platform.api.engine.IPentahoSession session) throws org.pentaho.platform.api.engine.ObjectFactoryException
      Deprecated.
      Specified by:
      getContentGeneratorForType in interface org.pentaho.platform.api.engine.IPluginManager
      Throws:
      org.pentaho.platform.api.engine.ObjectFactoryException
    • getPluginIdForClassLoader

      public String getPluginIdForClassLoader(ClassLoader classLoader)
      Specified by:
      getPluginIdForClassLoader in interface org.pentaho.platform.api.engine.IPluginManager
    • isRequested

      protected boolean isRequested(String servicePath, String requestPath)
      Return true if the servicePath is being addressed by the requestPath. The request path is said to request the service if it contains at least ALL of the elements of the servicePath, in order. It may include more than these elements but it must contain at least the servicePath.
      Parameters:
      servicePath -
      requestPath -
      Returns:
      true if the servicePath is being addressed by the requestPath
    • getServicePlugin

      @Deprecated public String getServicePlugin(String path)
      Deprecated.
      Specified by:
      getServicePlugin in interface org.pentaho.platform.api.engine.IPluginManager
    • isStaticResource

      @Deprecated public boolean isStaticResource(String path)
      Deprecated.
      Specified by:
      isStaticResource in interface org.pentaho.platform.api.engine.IPluginManager
    • isPublic

      public boolean isPublic(String pluginId, String path)
      Specified by:
      isPublic in interface org.pentaho.platform.api.engine.IPluginManager
    • getStaticResource

      @Deprecated public InputStream getStaticResource(String path)
      Deprecated.
      Specified by:
      getStaticResource in interface org.pentaho.platform.api.engine.IPluginManager
    • getExternalResourcesForContext

      public List<String> getExternalResourcesForContext(String context)
      Specified by:
      getExternalResourcesForContext in interface org.pentaho.platform.api.engine.IPluginManager
    • getPluginRESTPerspectivesForType

      public List<String> getPluginRESTPerspectivesForType(String contentType)
      Specified by:
      getPluginRESTPerspectivesForType in interface org.pentaho.platform.api.engine.IPluginManager
    • getPluginRESTPerspectivesForId

      public List<String> getPluginRESTPerspectivesForId(String id)
      Specified by:
      getPluginRESTPerspectivesForId in interface org.pentaho.platform.api.engine.IPluginManager
    • addPluginManagerListener

      public void addPluginManagerListener(org.pentaho.platform.api.engine.IPluginManagerListener listener)
      Specified by:
      addPluginManagerListener in interface org.pentaho.platform.api.engine.IPluginManager