org.pentaho.di.core.plugins
Interface PluginTypeInterface

All Known Implementing Classes:
BasePluginType, DatabasePluginType, ImportRulePluginType, JobEntryPluginType, KettleLifecyclePluginType, LifecyclePluginType, PartitionerPluginType, RepositoryPluginType, SpoonPluginType, StepPluginType

public interface PluginTypeInterface

This interface describes a plugin type.
It expresses the ID and the name of the plugin type.
Then it also explains what the plugin meta class is called and classes the plugin interface itself.
It also explains us where to load plugins of this type.

Author:
matt

Method Summary
 void addObjectType(Class<?> clz, String xmlNodeName)
          Register an additional class type to be managed by the plugin system.
 String getId()
           
 String getName()
           
 List<PluginFolderInterface> getPluginFolders()
           
 void handlePluginAnnotation(Class<?> clazz, Annotation annotation, List<String> libraries, boolean nativePluginType, URL pluginFolder)
          Handle an annotated plugin
 void searchPlugins()
           
 

Method Detail

addObjectType

void addObjectType(Class<?> clz,
                   String xmlNodeName)
Register an additional class type to be managed by the plugin system.

Parameters:
clz - category class, usually an interface
xmlNodeName - xml node to search for a class name

getId

String getId()
Returns:
The ID of this plugin type

getName

String getName()
Returns:
The name of this plugin

getPluginFolders

List<PluginFolderInterface> getPluginFolders()
Returns:
The places where we should look for plugins, both as plugin.xml and as

searchPlugins

void searchPlugins()
                   throws KettlePluginException
Throws:
KettlePluginException

handlePluginAnnotation

void handlePluginAnnotation(Class<?> clazz,
                            Annotation annotation,
                            List<String> libraries,
                            boolean nativePluginType,
                            URL pluginFolder)
                            throws KettlePluginException
Handle an annotated plugin

Parameters:
clazz - The class to use
annotation - The annotation to get information from
libraries - The libraries to add
nativePluginType - Is this a native plugin?
pluginFolder - The plugin folder to use
Throws:
KettlePluginException