org.pentaho.platform.plugin.services.pluginmgr
Class AbstractPluginManager

java.lang.Object
  extended by org.pentaho.platform.plugin.services.pluginmgr.AbstractPluginManager
All Implemented Interfaces:
IPluginManager
Direct Known Subclasses:
DefaultPluginManager

public abstract class AbstractPluginManager
extends Object
implements IPluginManager

This class implements the boilerplate plugin indexing code that any IPluginManager implementation would have to support. It helps cut the noise out of the subclass that handles plugin registration.

Author:
aphillips

Constructor Summary
AbstractPluginManager()
           
 
Method Summary
 IContentGenerator getContentGenerator(String id, IPentahoSession session)
           
 IContentGenerator getContentGeneratorForType(String type, IPentahoSession session)
           
 String getContentGeneratorIdForType(String type, IPentahoSession session)
           
 IContentGeneratorInfo getContentGeneratorInfo(String id, IPentahoSession session)
           
 List<IContentGeneratorInfo> getContentGeneratorInfoForType(String type, IPentahoSession session)
          Returns a list of info objects that can be used to create content generators for a given type.
 String getContentGeneratorTitleForType(String type, IPentahoSession session)
           
 String getContentGeneratorUrlForType(String type, IPentahoSession session)
           
 IContentInfo getContentInfoFromExtension(String extension, IPentahoSession session)
           
 Set<String> getContentTypes()
          Returns a set of the content types that the registered plugins can process.
 IContentGeneratorInfo getDefaultContentGeneratorInfoForType(String type, IPentahoSession session)
           
 List<String> getExternalResourcesForContext(String context)
          Return a List of scripts registered for a given context.
 List<org.pentaho.ui.xul.IMenuCustomization> getMenuCustomizations()
          Returns a list of menu customization objects.
 List<org.pentaho.ui.xul.XulOverlay> getOverlays()
          Returns a list of the XUL overlays that are defined by all the plug-ins.
 List<String> getRegisteredPlugins()
           
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 
Methods inherited from interface org.pentaho.platform.api.engine.IPluginManager
getBean, getClassLoader, getClassLoader, getFileInfo, getPluginSetting, getPluginSetting, getServicePlugin, getStaticResource, isBeanRegistered, isResourceLoadable, isStaticResource, loadClass, reload, unloadAllPlugins
 

Constructor Detail

AbstractPluginManager

public AbstractPluginManager()
Method Detail

getContentTypes

public Set<String> getContentTypes()
Description copied from interface: IPluginManager
Returns a set of the content types that the registered plugins can process. If the plugin is intended to handle the processing of a document in the solution repository the types need to match with the filename extension.

Specified by:
getContentTypes in interface IPluginManager
Returns:

getOverlays

public List<org.pentaho.ui.xul.XulOverlay> getOverlays()
Description copied from interface: IPluginManager
Returns a list of the XUL overlays that are defined by all the plug-ins. The overlays are XML fragments.

Specified by:
getOverlays in interface IPluginManager
Returns:
List of XML XUL overlays

getContentInfoFromExtension

public IContentInfo getContentInfoFromExtension(String extension,
                                                IPentahoSession session)
Specified by:
getContentInfoFromExtension in interface IPluginManager

getContentGeneratorInfoForType

public List<IContentGeneratorInfo> getContentGeneratorInfoForType(String type,
                                                                  IPentahoSession session)
Description copied from interface: IPluginManager
Returns a list of info objects that can be used to create content generators for a given type. In most cases there will only be one content generator for any one type.

Specified by:
getContentGeneratorInfoForType in interface IPluginManager
session - A session used for storing objects from session-scoped factories
Returns:
List of IObjectCreator objects

getContentGenerator

public IContentGenerator getContentGenerator(String id,
                                             IPentahoSession session)
                                      throws ObjectFactoryException
Specified by:
getContentGenerator in interface IPluginManager
Throws:
ObjectFactoryException

getContentGeneratorInfo

public IContentGeneratorInfo getContentGeneratorInfo(String id,
                                                     IPentahoSession session)
Specified by:
getContentGeneratorInfo in interface IPluginManager

getDefaultContentGeneratorInfoForType

public IContentGeneratorInfo getDefaultContentGeneratorInfoForType(String type,
                                                                   IPentahoSession session)
Specified by:
getDefaultContentGeneratorInfoForType in interface IPluginManager

getContentGeneratorIdForType

public String getContentGeneratorIdForType(String type,
                                           IPentahoSession session)
Specified by:
getContentGeneratorIdForType in interface IPluginManager

getContentGeneratorTitleForType

public String getContentGeneratorTitleForType(String type,
                                              IPentahoSession session)
Specified by:
getContentGeneratorTitleForType in interface IPluginManager

getContentGeneratorUrlForType

public String getContentGeneratorUrlForType(String type,
                                            IPentahoSession session)
Specified by:
getContentGeneratorUrlForType in interface IPluginManager

getContentGeneratorForType

public IContentGenerator getContentGeneratorForType(String type,
                                                    IPentahoSession session)
                                             throws ObjectFactoryException
Specified by:
getContentGeneratorForType in interface IPluginManager
Throws:
ObjectFactoryException

getMenuCustomizations

public List<org.pentaho.ui.xul.IMenuCustomization> getMenuCustomizations()
Description copied from interface: IPluginManager
Returns a list of menu customization objects.

Specified by:
getMenuCustomizations in interface IPluginManager
Returns:
List of IMenuCustomization objects

getRegisteredPlugins

public List<String> getRegisteredPlugins()
Specified by:
getRegisteredPlugins in interface IPluginManager
Returns:

getExternalResourcesForContext

public List<String> getExternalResourcesForContext(String context)
Description copied from interface: IPluginManager
Return a List of scripts registered for a given context.

Specified by:
getExternalResourcesForContext in interface IPluginManager
Parameters:
context - named area in the platform
Returns:
list of registered scripts