Class PentahoSystemPluginManager

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

public class PentahoSystemPluginManager extends Object implements org.pentaho.platform.api.engine.IPluginManager
An IPluginManager implementation based on registering objects to the PentahoSystem and querying for them there. This supports finding types registered through other systems, allowing for the transition away from IPluginManager to plain PentahoSystem.getXXX calls.

Created by nbaker on 4/18/14.

  • Field Details

  • Constructor Details

    • PentahoSystemPluginManager

      public PentahoSystemPluginManager()
  • Method Details

    • getContentTypes

      public Set<String> getContentTypes()
      Specified by:
      getContentTypes 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
    • getContentGeneratorForType

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

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

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

      protected void registerContentTypes(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader, org.springframework.context.support.GenericApplicationContext beanFactory) throws org.pentaho.platform.api.engine.PlatformPluginRegistrationException
      Throws:
      org.pentaho.platform.api.engine.PlatformPluginRegistrationException
    • assertUnique

      protected void assertUnique(org.springframework.context.support.GenericApplicationContext applicationContext, 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
    • getNativeBeanFactory

      protected org.springframework.beans.factory.BeanFactory getNativeBeanFactory(org.pentaho.platform.api.engine.IPlatformPlugin plugin, ClassLoader loader)
    • getOverlays

      public List<org.pentaho.ui.xul.XulOverlay> getOverlays()
      Specified by:
      getOverlays in interface org.pentaho.platform.api.engine.IPluginManager
    • 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
    • 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
    • getPluginIdForType

      public String getPluginIdForType(String contentType)
      Specified by:
      getPluginIdForType 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
    • 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
    • getPluginSetting

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

      @Deprecated public String getServicePlugin(String path)
      Deprecated.
      Specified by:
      getServicePlugin in interface org.pentaho.platform.api.engine.IPluginManager
    • 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
    • isStaticResource

      public boolean isStaticResource(String path)
      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

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

      public List<String> getRegisteredPlugins()
      Specified by:
      getRegisteredPlugins 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
    • addPluginManagerListener

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