Class PluginsService

  • public class PluginsService
    extends java.lang.Object
    • Field Detail


        public static final Setting<java.util.List<java.lang.String>> MANDATORY_SETTING
    • Constructor Detail

      • PluginsService

        public PluginsService​(Settings settings,
                              java.nio.file.Path configPath,
                              java.nio.file.Path modulesDirectory,
                              java.nio.file.Path pluginsDirectory,
                              java.util.Collection<java.lang.Class<? extends Plugin>> classpathPlugins)
        Constructs a new PluginService
        settings - The settings of the system
        modulesDirectory - The directory modules exist in, or null if modules should not be loaded from the filesystem
        pluginsDirectory - The directory plugins exist in, or null if plugins should not be loaded from the filesystem
        classpathPlugins - Plugins that exist in the classpath which should be loaded
    • Method Detail

      • getPluginSettings

        public java.util.List<Setting<?>> getPluginSettings()
      • getPluginSettingsFilter

        public java.util.List<java.lang.String> getPluginSettingsFilter()
      • updatedSettings

        public Settings updatedSettings()
      • createGuiceModules

        public java.util.Collection<Module> createGuiceModules()
      • getGuiceServiceClasses

        public java.util.Collection<java.lang.Class<? extends LifecycleComponent>> getGuiceServiceClasses()
        Returns all classes injected into guice by plugins which extend LifecycleComponent.
      • onIndexModule

        public void onIndexModule​(IndexModule indexModule)
      • findPluginDirs

        public static java.util.List<java.nio.file.Path> findPluginDirs​(java.nio.file.Path rootPath)
        Extracts all installed plugin directories from the provided rootPath.
        rootPath - the path where the plugins are installed
        a list of all plugin paths installed in the rootPath
        Throws: - if an I/O exception occurred reading the directories
      • filterPlugins

        public <T> java.util.List<T> filterPlugins​(java.lang.Class<T> type)