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 Detail

      • 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.
      • 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