Package org.pf4j

Interface PluginManager

    • Method Detail

      • getPlugins

        java.util.List<PluginWrapper> getPlugins()
        Retrieves all plugins.
      • getPlugins

        java.util.List<PluginWrapper> getPlugins​(PluginState pluginState)
        Retrieves all plugins with this state.
      • getResolvedPlugins

        java.util.List<PluginWrapper> getResolvedPlugins()
        Retrieves all resolved plugins (with resolved dependency).
      • getUnresolvedPlugins

        java.util.List<PluginWrapper> getUnresolvedPlugins()
        Retrieves all unresolved plugins (with unresolved dependency).
      • getStartedPlugins

        java.util.List<PluginWrapper> getStartedPlugins()
        Retrieves all started plugins.
      • getPlugin

        PluginWrapper getPlugin​(java.lang.String pluginId)
        Retrieves the plugin with this id, or null if the plugin does not exist.
        Parameters:
        pluginId - the unique plugin identifier, specified in its metadata
        Returns:
        A PluginWrapper object for this plugin, or null if it does not exist.
      • loadPlugins

        void loadPlugins()
        Load plugins.
      • loadPlugin

        java.lang.String loadPlugin​(java.nio.file.Path pluginPath)
        Load a plugin.
        Parameters:
        pluginPath - the plugin location
        Returns:
        the pluginId of the installed plugin as specified in its metadata
        Throws:
        PluginRuntimeException - if something goes wrong
      • startPlugins

        void startPlugins()
        Start all active plugins.
      • startPlugin

        PluginState startPlugin​(java.lang.String pluginId)
        Start the specified plugin and its dependencies.
        Returns:
        the plugin state
        Throws:
        PluginRuntimeException - if something goes wrong
      • stopPlugins

        void stopPlugins()
        Stop all active plugins.
      • stopPlugin

        PluginState stopPlugin​(java.lang.String pluginId)
        Stop the specified plugin and its dependencies.
        Returns:
        the plugin state
        Throws:
        PluginRuntimeException - if something goes wrong
      • unloadPlugin

        boolean unloadPlugin​(java.lang.String pluginId)
        Unload a plugin.
        Parameters:
        pluginId - the unique plugin identifier, specified in its metadata
        Returns:
        true if the plugin was unloaded
        Throws:
        PluginRuntimeException - if something goes wrong
      • disablePlugin

        boolean disablePlugin​(java.lang.String pluginId)
        Disables a plugin from being loaded.
        Parameters:
        pluginId - the unique plugin identifier, specified in its metadata
        Returns:
        true if plugin is disabled
        Throws:
        PluginRuntimeException - if something goes wrong
      • enablePlugin

        boolean enablePlugin​(java.lang.String pluginId)
        Enables a plugin that has previously been disabled.
        Parameters:
        pluginId - the unique plugin identifier, specified in its metadata
        Returns:
        true if plugin is enabled
        Throws:
        PluginRuntimeException - if something goes wrong
      • deletePlugin

        boolean deletePlugin​(java.lang.String pluginId)
        Deletes a plugin.
        Parameters:
        pluginId - the unique plugin identifier, specified in its metadata
        Returns:
        true if the plugin was deleted
        Throws:
        PluginRuntimeException - if something goes wrong
      • getPluginClassLoader

        java.lang.ClassLoader getPluginClassLoader​(java.lang.String pluginId)
      • getExtensionClasses

        java.util.List<java.lang.Class<?>> getExtensionClasses​(java.lang.String pluginId)
      • getExtensionClasses

        <T> java.util.List<java.lang.Class<? extends T>> getExtensionClasses​(java.lang.Class<T> type)
      • getExtensionClasses

        <T> java.util.List<java.lang.Class<? extends T>> getExtensionClasses​(java.lang.Class<T> type,
                                                                             java.lang.String pluginId)
      • getExtensions

        <T> java.util.List<T> getExtensions​(java.lang.Class<T> type)
      • getExtensions

        <T> java.util.List<T> getExtensions​(java.lang.Class<T> type,
                                            java.lang.String pluginId)
      • getExtensions

        java.util.List getExtensions​(java.lang.String pluginId)
      • getExtensionClassNames

        java.util.Set<java.lang.String> getExtensionClassNames​(java.lang.String pluginId)
      • getRuntimeMode

        RuntimeMode getRuntimeMode()
        The runtime mode. Must currently be either DEVELOPMENT or DEPLOYMENT.
      • isDevelopment

        default boolean isDevelopment()
        Returns true if the runtime mode is RuntimeMode.DEVELOPMENT.
      • isNotDevelopment

        default boolean isNotDevelopment()
        Returns true if the runtime mode is not RuntimeMode.DEVELOPMENT.
      • whichPlugin

        PluginWrapper whichPlugin​(java.lang.Class<?> clazz)
        Retrieves the PluginWrapper that loaded the given class 'clazz'.
      • setSystemVersion

        void setSystemVersion​(java.lang.String version)
        Set the system version. This is used to compare against the plugin requires attribute. The default system version is 0.0.0 which disables all version checking.
        Parameters:
        version -
      • getSystemVersion

        java.lang.String getSystemVersion()
        Returns the system version.
        Returns:
        the system version
      • getPluginsRoot

        java.nio.file.Path getPluginsRoot()
        Gets the path of the folder where plugins are installed.
        Returns:
        Path of plugins root