Interface PluginInterface

All Known Implementing Classes:
Plugin, SupplementalPlugin

public interface PluginInterface
This interface describes the plugin itself, the IDs it listens too, what libraries (jar files) it uses, the names, the i18n detailes, etc.
Author:
matt
  • Method Details

    • getIds

      String[] getIds()
      Returns:
      All the possible IDs that this plugin corresponds with.
      Multiple IDs are typically used when you migrate 2 different plugins into a single one with the same functionality.
      It can also happen if you deprecate an older plugin and you want to have a new one provide compatibility for it.
    • getPluginType

      Class<? extends PluginTypeInterface> getPluginType()
      Returns:
      The type of plugin
    • getMainType

      Class<?> getMainType()
      Returns:
      The main class assigned to this Plugin.
    • getLibraries

      List<String> getLibraries()
      Returns:
      The libraries (jar file names) that are used by this plugin
    • getName

      String getName()
      Returns:
      The name of the plugin
    • getDescription

      String getDescription()
      Returns:
      The description of the plugin
    • getImageFile

      String getImageFile()
      Returns:
      The location of the image (icon) file for this plugin
    • setImageFile

      void setImageFile(String imageFile)
      Parameters:
      imageFile - the location of the image (icon) file for this plugin
    • getCategory

      String getCategory()
      Returns:
      The category of this plugin or null if this is not applicable
    • isSeparateClassLoaderNeeded

      boolean isSeparateClassLoaderNeeded()
      Returns:
      True if a separate class loader is needed every time this class is instantiated
    • isNativePlugin

      boolean isNativePlugin()
      Returns:
      true if this is considered to be a standard native plugin.
    • getClassMap

      Map<Class<?>,String> getClassMap()
      Returns:
      All the possible class names that can be loaded with this plugin, split up by type.
    • matches

      boolean matches(String id)
      Parameters:
      id - the plugin id to match
      Returns:
      true if one of the ids matches the given argument. Return false if it doesn't.
    • getErrorHelpFile

      String getErrorHelpFile()
      Returns:
      An optional location to a help file that the plugin can refer to in case there is a loading problem. This usually happens if a jar file is not installed correctly (class not found exceptions) etc.
    • setErrorHelpFile

      void setErrorHelpFile(String errorHelpFile)
      Parameters:
      errorHelpFile - the errorHelpFile to set
    • getPluginDirectory

      URL getPluginDirectory()
    • getDocumentationUrl

      String getDocumentationUrl()
      Returns:
      the documentationUrl
    • setDocumentationUrl

      void setDocumentationUrl(String documentationUrl)
      Parameters:
      documentationUrl - the documentationUrl to set
    • getCasesUrl

      String getCasesUrl()
      Returns:
      The cases URL of the plugin
    • setCasesUrl

      void setCasesUrl(String casesUrl)
      Parameters:
      casesUrl - the cases URL to set for this plugin
    • getForumUrl

      String getForumUrl()
      Returns:
      the forum URL
    • setForumUrl

      void setForumUrl(String forumUrl)
      Parameters:
      forumUrl - the forum URL to set
    • getClassLoaderGroup

      String getClassLoaderGroup()
      Returns:
      The group to which this class loader belongs. Returns null if the plugin does not belong to a group (the default)
    • setSuggestion

      void setSuggestion(String suggestion)
    • getSuggestion

      String getSuggestion()
    • setClassLoaderGroup

      void setClassLoaderGroup(String group)
      Parameters:
      group - The group to which this class loader belongs. Set to null if the plugin does not belong to a group (the default)
    • merge

      default void merge(PluginInterface fragment)
      Parameters:
      fragment - A plugin interface to merge with
    • getPluginProperties

      default Properties getPluginProperties() throws KettleException
      Returns:
      Plugin properties Returns a Properties object containing any properties in a plugin.properties file in the plugin directopry. The method will return null if the plugin.properties does not exist.
      Throws:
      KettleException